1.html
<HTML>
<HEAD>
<title>ScrollGrid</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<style>
.fixedHeaderTr { POSITION: relative; ; TOP: expression(this.offsetParent.scrollTop) }
.mainDiv { SCROLLBAR-FACE-COLOR: #9999ff; OVERFLOW: auto; ; WIDTH: expression(document.body.clientWidth-20); ; HEIGHT: expression((document.body.clientHeight-this.offsetTop-20>this.children[0].offsetHeight)?(this.children[0].offsetHeight+20) : (document.body.clientHeight-this.offsetTop-20)) }
</style>
</HEAD>
<BODY ms_positioning="GridLayout">
<form id="Form1" method="post" runat="server">
<div class="mainDiv">
<asp:DataGrid id="DataGrid1" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px"
BackColor="White" CellPadding="4">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</div>
</form>
</BODY>
</HTML>
public class ScrollGrid : System.Web.UI.Page
{
//记得要引用
//using System.Data.SqlClient;
//using System.IO;
//using System.Text.RegularExpressions;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
DataBind();
}
#region Render
protected override void Render(HtmlTextWriter writer)
{
//原理就是把表头<tr></tr>标签替换为<tr class="fixedHeaderTr"></tr>
TextWriter tempWriter = new StringWriter();
base.Render(new HtmlTextWriter(tempWriter));
string oldtr = "<tr style=\"color:#FFFFCC;background-color:#990000;font-weight:bold;\">";
string newtr = "<tr class=\"fixedHeaderTr\" style=\"color:#FFFFCC;background-color:#990000;font-weight:bold;\">";
writer.Write(Regex.Replace(tempWriter.ToString(),oldtr,newtr,RegexOptions.IgnoreCase));
}
#endregion
#region DataBind
private void DataBind()
{
string sql="select * from testgrid";
DataSet ds=GetDataSet(sql);
this.DataGrid1.DataSource=ds;
this.DataGrid1.DataBind();
}
#endregion
#region GetDataSet
private DataSet GetDataSet(string sql)
{
string constring=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda =new SqlDataAdapter(sql,constring);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
#endregion 
Web Form Designer generated code
}代码里面的数据库及web.config要自己修改。

浙公网安备 33010602011771号