在asp.net中实现Gridview 表头固定

原创 2008年10月06日 21:22:00

最近在做项目过程要实现Gridview 表头固定 ,采用了以下方法。

<script language="javascript"> 
 function init()
          {
           var tbBody = document.getElementById("<%=GridView2.ClientID%>");
            if(tbBody!=null)
           {
           var tbHead = tbBody.cloneNode(true)
           for(i = tbHead.rows.length -1;i > 1;i--)
            tbHead.deleteRow(i);
         
           divContent.appendChild(tbHead);
           }
          }
          window.onload = init
  </script>
  <div id="divContent">
   
          </div>
          <div id ="divG" style="height: 180px;position: relative; overflow:scroll;">
 <asp:GridView ID="GridView1" runat="server" OnRowCreated="GridView1_OnRowCreated" AllowPaging="true" PageSize="15"
      AutoGenerateColumns="false"  Width="800" ShowHeader ="false"  OnRowDataBound="GridView1_RowDataBound"  DataKeyNames="XTBH">
     <AlternatingRowStyle CssClass="Alternatingback"></AlternatingRowStyle>
        <RowStyle CssClass="griditem"></RowStyle>
         <HeaderStyle BackColor="#CEDDF0" ForeColor="#000000"  Height="26px" />
        <Columns>
            <asp:BoundField HeaderText="企业名称" DataField="Organization" />
             <asp:TemplateField>
            <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "XTBH").ToString().Trim() == "0" ? "" + DataBinder.Eval(Container.DataItem, "Mingc") + "" : "<a href=/"#/" onclick=/"window.open('../project/#.aspx?XTBH=" + DataBinder.Eval(Container.DataItem, "XTBH") + "','','toolbar=no,scrollbars=yes')/">" + DataBinder.Eval(Container.DataItem, "Mingc") + "</a>"
             %>
            </ItemTemplate>
            </asp:TemplateField>
         
           <asp:BoundField DataField="ZJF" HeaderText="总额(万)"/>  
                <asp:BoundField DataField="Daik" HeaderText="贷款(万)"/>
                   <asp:BoundField DataField="Gdzc" HeaderText="固定资产投资"/>  
                 <asp:BoundField DataField="YongH" HeaderText="其中用汇(万)"/>    
                
        </Columns>
         <PagerSettings Visible ="false" />
        <EmptyDataTemplate>
         <tr class="gridheader" style="font-size:10pt;">
         <th rowspan="2">企业名称</th><th rowspan="2">项目名称</th><th colspan="4">总投资</th></tr><tr  class="gridheader" style="font-size:10pt;"></th><th>总额(万)</th><th>其中贷款(万)</th><th>其中固定资产投资(万)</th><th>其中用汇(万)</th>
  </tr>
        </EmptyDataTemplate>
        <EmptyDataRowStyle CssClass="gridheader" />
   
    </asp:GridView>
</div>

  <div id="div2" style="visibility: hidden;height:180;" >
      <asp:GridView ID="GridView2"  runat="server"   OnRowCreated="GridView2_OnRowCreated" AllowPaging="true" PageSize="1"
      AutoGenerateColumns="false"  Width="800" OnRowDataBound="GridView2_RowDataBound"  DataKeyNames="XTBH">
     <AlternatingRowStyle CssClass="Alternatingback"></AlternatingRowStyle>
        <RowStyle CssClass="griditem"></RowStyle>
         <HeaderStyle BackColor="#CEDDF0" ForeColor="#000000"  Height="26px" />
        <Columns>
 <asp:BoundField HeaderText="企业名称" DataField="Organization" />
             <asp:TemplateField>
            <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "XTBH").ToString().Trim() == "0" ? "" + DataBinder.Eval(Container.DataItem, "Mingc") + "" : "<a href=/"#/" onclick=/"window.open('../project/#.aspx?XTBH=" + DataBinder.Eval(Container.DataItem, "XTBH") + "','','toolbar=no,scrollbars=yes')/">" + DataBinder.Eval(Container.DataItem, "Mingc") + "</a>"
             %>
            </ItemTemplate>
            </asp:TemplateField>
         
           <asp:BoundField DataField="ZJF" HeaderText="总额(万)"/>  
                <asp:BoundField DataField="Daik" HeaderText="贷款(万)"/>
                   <asp:BoundField DataField="Gdzc" HeaderText="投资"/>  
                 <asp:BoundField DataField="YongH" HeaderText="用汇"/>    

  </Columns>
         <PagerSettings Visible ="false" />
        </asp:GridView>
        </div>

 

ASP.NET GridView控件固定表头(适用于IE浏览器,css操作)

在网上也找了不少相关的资料,很多例子没头没尾,自己尝试着终于跑成功了,在这里自己记录一下:     主要就是用于IE浏览器的方法,GridView控件里面有标签,在里面添加一个CssClass属性,...
  • u014753606
  • u014753606
  • 2015年12月22日 16:48
  • 1187

ASP.Net下为GridView创建固定表头

1.问题描述: 由于gridviewlimi
  • liuyunhuanying
  • liuyunhuanying
  • 2014年09月03日 10:46
  • 1496

GridView固定表头和首列

当GridVIew中要显示的数据非常多的时候,用户常需要开发人员固定表头或是首列,以保证在拖动滚动条的时候,可以清楚得了解到每一列或行的内容。 借助于CSS的功能,可以将GridView打造成这样的表...
  • Samanthaqu
  • Samanthaqu
  • 2007年12月04日 13:39
  • 11217

无比强大的GridView,表头固定,表体有滚动条可滚动

// 计算数据,完全可以从数据看取得 ICollection CreateDataSource( ) { System.Data.DataTable dt = new System.D...
  • smartsmile2012
  • smartsmile2012
  • 2012年11月15日 16:20
  • 4155

ASP.NET—014:Gridview复合表头

继续看一个简单的ASP.NET应用。Gridview相信大家使用的比较多了,一般对多行数据进行展示和操作都会用到这个控件。而对于表头,也是很重要的一部分,它负责对数据进行分门别类的。而对于复合表头该如...
  • yysyangyangyangshan
  • yysyangyangyangshan
  • 2014年08月25日 00:31
  • 4103

asp.net datagrid最简单固定表头方法(转贴)

1。写css文件.fixTitle { BACKGROUND: navy; COLOR: white; POSITION: relative;  TOP: expression(this.offset...
  • luckweb
  • luckweb
  • 2004年12月15日 16:11
  • 1244

asp.net中GridView实现表头固定

 function init()          {           var tbBody = document.getElementById("");            if(tbBod...
  • bjsummer123
  • bjsummer123
  • 2010年12月16日 21:04
  • 342

asp.net table表格表头及列固定实现

在开发中常会遇到table表格中列特别多,下拉后,表头就看不见了,水平滚动后,第1、2列就看不见了,于是需求就出来了,就是需要固定table的表头和列。demo结构如下图所示:demo下载地址:htt...
  • taomanman
  • taomanman
  • 2015年09月21日 18:32
  • 3351

CSS控制GridView固定表头

CSS代码      .Freezing    {             position:relative ;         table-layout:fixed;        top:exp...
  • go5188
  • go5188
  • 2007年06月27日 03:37
  • 1478

固定(锁定)GridView标题行(表头)

ASP.NET前台代码: GridView固定表头 .topcss { background-color:#...
  • lvjin110
  • lvjin110
  • 2011年12月13日 18:58
  • 8965
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在asp.net中实现Gridview 表头固定
举报原因:
原因补充:

(最多只允许输入30个字)