表头固定,表体可滚动的GridView

效果图:

前台

ExpandedBlockStart.gif 代码
<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default6.aspx.cs "  Inherits = " Default6 "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head >
    
< title > 创建表头固定,表体可滚动的GridView </ title >

    
< script type = " text/javascript " >
    function s()
    {
         var t 
=  document.getElementById( " <%=GridView1.ClientID%> " );
         var t2 
=  t.cloneNode( true )
         
for (i  =  t2.rows.length  - 1 ;i  >   0 ;i -- )
         t2.deleteRow(i)  
         t.deleteRow(
0 )  
         div_title.appendChild(t2) 
    }
    
</ script >

</ head >
< body onload = " s(); " >
    
< form id = " Form1 "  runat = " server " >
    
< table >
        
< tr >
            
< td >
                
< div id = " div_title " >
                
</ div >
                
< div style = " overflow-y: scroll; height: 200px " >
                    
< asp:GridView ID = " GridView1 "  runat = " server "  Font - Size = " 12px "  BackColor = " #FFFFFF "
                        GridLines
= " Both "  CellPadding = " 4 "  Width = " 560 "  AutoGenerateColumns = " false " >
                        
< HeaderStyle BackColor = " #EDEDED "  Height = " 26px "   />
                        
< Columns >
                            
< asp:BoundField DataField = " 学生班级 "  HeaderText = " 班级 "   />
                            
< asp:BoundField DataField = " 学生姓名 "  HeaderText = " 标题 "   />
                            
< asp:BoundField DataField = " 语文 "  HeaderText = " 语文 "   />
                            
< asp:BoundField DataField = " 数学 "  HeaderText = " 数学 "   />
                            
< asp:BoundField DataField = " 计算机 "  HeaderText = " 计算机 "   />
                        
</ Columns >
                    
</ asp:GridView >
                
</ div >
            
</ td >
        
</ tr >
    
</ table >
    
</ form >
</ body >
</ html >

 

后台代码:

 

ExpandedBlockStart.gif 代码
  protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  ( ! IsPostBack)
        {

            webf_GridViewBind();
        }
    }

    
private   void  webf_GridViewBind()
    {
        GridView1.Attributes.Add(
" style " " table-layout:fixed " );
        GridView1.DataSource 
=  CreateDataSource();
        GridView1.DataBind();

    }

    
private  DataTable CreateDataSource()
    {
        System.Data.DataTable dt 
=   new  System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(
new  System.Data.DataColumn( " 学生班级 " typeof (System.String)));
        dt.Columns.Add(
new  System.Data.DataColumn( " 学生姓名 " typeof (System.String)));
        dt.Columns.Add(
new  System.Data.DataColumn( " 语文 " typeof (System.Decimal)));
        dt.Columns.Add(
new  System.Data.DataColumn( " 数学 " typeof (System.Decimal)));
        dt.Columns.Add(
new  System.Data.DataColumn( " 英语 " typeof (System.Decimal)));
        dt.Columns.Add(
new  System.Data.DataColumn( " 计算机 " typeof (System.Decimal)));

        
for  ( int  i  =   0 ; i  <   50 ; i ++ )
        {
            System.Random rd 
=   new  System.Random(Environment.TickCount  *  i); ;
            dr 
=  dt.NewRow();
            dr[
" 学生班级 " =   " 班级 "   +  i.ToString();
            dr[
" 学生姓名 " =   " 【孟子E章】 "   +  i.ToString();
            dr[
" 语文 " =  System.Math.Round(rd.NextDouble()  *   100 2 );
            dr[
" 数学 " =  System.Math.Round(rd.NextDouble()  *   100 2 );
            dr[
" 英语 " =  System.Math.Round(rd.NextDouble()  *   100 2 );
            dr[
" 计算机 " =  System.Math.Round(rd.NextDouble()  *   100 2 );
            dt.Rows.Add(dr);
        }
        
return  dt;

    }

 

 

该代码主要是参考http://dotnet.aspx.cc/article/7919da6b-9014-41c2-b9b6-10e5ec047f7d/read.aspx 

转载于:https://www.cnblogs.com/hnczliaoxueping/archive/2010/09/08/1821152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值