效果图:
前台
代码
<%
@ 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 >
<! 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 >
后台代码:
代码
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;
}
{
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