仰天一笑

昨日不悔,今日勿失,明日莫忧! —徐羽

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  230 随笔 :: 27 文章 :: 804 评论 :: 40 Trackbacks
上次和海东兄讨论了这个问题,但是他的表头没有线,所以用Div形式实现了,实现功能显示表格,代码如下(后台.cs文件只要绑定数据就可以了,字段和前台绑定的一致就OK了,在此不加赘述):

<%@ Page language="c#" Codebehind="dg1.aspx.cs" AutoEventWireup="false" Inherits="netLearn.dg1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>dg1</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  <script language="javascript">
  function window.onload()
  {
   var dg = document.getElementById('DataGrid1');
   var strHTML = "";
   for( var i=1; i<dg.rows.length;i++)
   {
    strHTML += dg.rows[i].cells[0].innerHTML;
   }   
   dg.rows[1].cells[0].innerHTML = "<div id='dgContent' style='height:250px;overflow-y:scroll'>" + strHTML + "</div>";
   for( var i=dg.rows.length-1; i>1;i--)
   {
    dg.deleteRow(i);
   } 
  }
  </script>

 </HEAD>
 <body MS_POSITIONING="FlowLayout">
  <form id="Form1" method="post" runat="server">
   <FONT face="宋体">
    <asp:datagrid id="DataGrid1" runat="server" Width="576px" Height="192px" AutoGenerateColumns="False"
     BorderWidth="0px" CellPadding="0">
     <Columns>
      <asp:TemplateColumn>
       <HeaderTemplate>
        <table cellpadding="2" cellspacing="1" bgcolor="PaleTurquoise" width="100%">
         <tr>
          <th bgcolor="#006699" width="25%" align="center" style="color:#ffffff">
           序号</td>
           <th bgcolor="#006699" width="25%" align="center" style="color:#ffffff">
            ID号</td>
            <th bgcolor="#006699" width="25%" align="center" style="color:#ffffff">
             姓名</td>
             <th bgcolor="#006699" width="25%" align="center" style="color:#ffffff">
          年龄</td>
         </tr>
        </table>
       </HeaderTemplate>
       <ItemTemplate>
        <table cellpadding="2" cellspacing="1" bgcolor="PaleTurquoise" width="100%">
         <tr>
          <td bgcolor="LightSkyBlue" width="25%" style="padding-left:10px;"><%#Container.ItemIndex+1%></td>
          <td bgcolor="LightSkyBlue" width="25%" style="padding-left:10px;"><%#DataBinder.Eval(Container.DataItem,"ID")%></td>
          <td bgcolor="LightSkyBlue" width="25%" style="padding-left:10px;"><%#DataBinder.Eval(Container.DataItem,"Name")%></td>
          <td bgcolor="LightSkyBlue" width="23%" style="padding-left:10px;"><%#DataBinder.Eval(Container.DataItem,"Age")%></td>
         </tr>
        </table>
       </ItemTemplate>
      </asp:TemplateColumn>
     </Columns>
    </asp:datagrid></FONT></form>


 </body>
</HTML>

效果如下:
 
http://images.cnblogs.com/cnblogs_com/skylaugh/69471/r_picDatagrid.bmp
posted on 2006-09-08 12:05 仰天一笑 阅读(1167) 评论(9)  编辑 收藏 所属分类: 原创天地ASP.Net-C#

评论

#1楼  2006-09-08 12:27 .老刘      
兄台能否截个图演示一下效果,手头没有03环境,代码跑不了。谢谢:)
  回复  引用  查看    

#2楼  2006-09-08 12:42 SPARON      
这个是例用了table的head(表头)的特性。。。
  回复  引用  查看    

#3楼  2006-09-08 12:59 高海东      
支持下 实现这个功能有好几种方式
  回复  引用  查看    

#4楼 [楼主] 2006-09-08 13:10 仰天一笑      
@高海东
哈哈,是的,要想分割成多个列的,自己修改就OK了,还有一下例子还不错,http://www.cnblogs.com/thinhunan/archive/2005/05/27/163704.aspx

  回复  引用  查看    

#5楼  2006-09-08 16:35 高海东      
@仰天一笑
这些我都看过,但是我都不满意啊。你看过我给你的图,能在我的那个方式下可以把表头的线显示出来而且可以支持多表头就更好了
  回复  引用  查看    

这方法也太cuo了吧.
  回复  引用    

#7楼 [楼主] 2006-09-11 09:23 仰天一笑      
@love coding
请仁兄指教!
  回复  引用  查看    

#8楼  2006-09-11 15:09 JeffreyZhao      
我曾经用iframe解决这个问题,颇为简单。

其实这个问题的很多solution都差不多,都是“看上去”像。

解决这种问题的话,一般越不tricky越好。
  回复  引用  查看    

#9楼  2006-09-15 09:06 LoveCoding [未注册用户]
在服务器端取 某个单元格的值 比较麻烦呀。
  回复  引用    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-09-11 09:21 编辑过


相关链接: