效果图:
前台
代码
<%@ 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