创建表头固定,表体可滚动的GridView(转)
本方法只需要設(shè)置一個GridView的寬度,其它寬度不需要設(shè)置。測試環(huán)境:IE6,Firefox通過。
C#
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
? // 計算數(shù)據(jù),完全可以從數(shù)據(jù)看取得
? ICollection CreateDataSource( )
? {
??? System.Data.DataTable dt = new System.Data.DataTable();
??? System.Data.DataRow dr;
??? dt.Columns.Add(new System.Data.DataColumn("學(xué)生班級", typeof(System.String)));
??? dt.Columns.Add(new System.Data.DataColumn("學(xué)生姓名", typeof(System.String)));
??? dt.Columns.Add(new System.Data.DataColumn("語文", typeof(System.Decimal)));
??? dt.Columns.Add(new System.Data.DataColumn("數(shù)學(xué)", 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[0] = "班級" + i.ToString();
????? dr[1] = "【孟子E章】" + i.ToString();
????? dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
????? dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
????? dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
????? dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
????? dt.Rows.Add(dr);
??? }
??? System.Data.DataView dv = new System.Data.DataView(dt);
??? return dv;
? }
? protected void Page_Load( object sender, EventArgs e )
? {
??? if (!IsPostBack)
??? {
????? GridView1.Attributes.Add("style", "table-layout:fixed");
????? GridView1.DataSource = CreateDataSource();
????? GridView1.DataBind();
??? }
? }
?
</script>
<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)?
?a.appendChild(t2)
}
window.onload = s
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
? <title>創(chuàng)建表頭固定,表體可滾動的GridView</title>
</head>
<body>
? <form id="Form1" runat="server">
??? <table>
????? <tr>
??????? <td>
????????? <div id="a">
????????? </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">
????????????? <HeaderStyle BackColor="#EDEDED" Height="26px" />
??????????? </asp:GridView>
????????? </div>
??????? </td>
????? </tr>
??? </table>
? </form>
</body>
</html>
VB.NET
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
? Function CreateDataSource() As ICollection
??? Dim dt As System.Data.DataTable = New System.Data.DataTable
??? Dim dr As System.Data.DataRow
??? dt.Columns.Add(New System.Data.DataColumn("學(xué)生班級", GetType(System.String)))
??? dt.Columns.Add(New System.Data.DataColumn("學(xué)生姓名", GetType(System.String)))
??? dt.Columns.Add(New System.Data.DataColumn("語文", GetType(System.Decimal)))
??? dt.Columns.Add(New System.Data.DataColumn("數(shù)學(xué)", GetType(System.Decimal)))
??? dt.Columns.Add(New System.Data.DataColumn("英語", GetType(System.Decimal)))
??? dt.Columns.Add(New System.Data.DataColumn("計算機", GetType(System.Decimal)))
??? Dim i As Integer = 0
??? While i < 50
????? Dim rd As System.Random = New System.Random(Environment.TickCount * i)
????? dr = dt.NewRow
????? dr(0) = "班級" + i.ToString
????? dr(1) = "【孟子E章】" + i.ToString
????? dr(2) = System.Math.Round(rd.NextDouble * 100, 2)
????? dr(3) = System.Math.Round(rd.NextDouble * 100, 2)
????? dr(4) = System.Math.Round(rd.NextDouble * 100, 2)
????? dr(5) = System.Math.Round(rd.NextDouble * 100, 2)
????? dt.Rows.Add(dr)
????? System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)
??? End While
??? Dim dv As System.Data.DataView = New System.Data.DataView(dt)
??? Return dv
? End Function
? Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
??? If Not IsPostBack Then
????? GridView1.Attributes.Add("style", "table-layout:fixed")
????? GridView1.DataSource = CreateDataSource()
????? GridView1.DataBind()
??? End If
? End Sub
</script>
<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)?
?a.appendChild(t2)
}
window.onload = s
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
? <title>創(chuàng)建表頭固定,表體可滾動的GridView</title>
</head>
<body>
? <form id="Form1" runat="server">
??? <table>
????? <tr>
??????? <td>
????????? <div id="a">
????????? </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">
????????????? <HeaderStyle BackColor="#EDEDED" Height="26px" />
??????????? </asp:GridView>
????????? </div>
??????? </td>
????? </tr>
??? </table>
? </form>
</body>
</html>
轉(zhuǎn)載于:https://www.cnblogs.com/footleg/archive/2008/05/05/1183989.html
總結(jié)
以上是生活随笔為你收集整理的创建表头固定,表体可滚动的GridView(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows XP SP3?转自作者:
- 下一篇: [转] STL中map用法详解