Visual C++ 7.1Visual C++ 7.0.NET 1.0Windows 2003.NET 1.1Windows 2000Windows XP中级开发Visual StudioJavascriptWindowsC++.NETASP.NETC#
ASP.NET DataGrid 头部滑动控件






3.44/5 (24投票s)
2004年3月22日
1分钟阅读

139062

2640
一个 ASP.NET DataGrid 头部插件,允许头部停留在屏幕上。
引言
当表格显示大量数据时,用户来回滚动以查看哪个头部对应哪个列会变得困难和繁琐。我开发了一个简单的附加控件,它可以与现有的表格类型控件(如 DataGrid
和 DataList
)一起工作。GridSlideHeader
是一个 ASP.NET 自定义控件,它实现了 JavaScript(和 CSS),当头部滚动出页面时,会将表格的头部“固定”在页面上。
要查看演示,请点击 此链接。
使用服务器控件
GridSlideHeader
服务器控件是一个非常简单的附加控件,可以添加到现有的 DataGrid
和 DataList
中。
只需调用 GridSlideHeader
控件,并设置 DataGridID
属性,该属性对应于 DataGrid
/DataList
的 ID。就完成了!
示例
<form id="Form1" method="post" runat="server">
<asp:datagrid id="DataGridReport1" runat="server"
AutoGenerateColumns="False" BorderColor="#000066">
<EditItemStyle ForeColor="Black" BackColor="Yellow"></EditItemStyle>
<AlternatingItemStyle Font-Size="X-Small"
BackColor="Gainsboro"></AlternatingItemStyle>
<ItemStyle Font-Size="X-Small" Font-Names="Verdana"></ItemStyle>
<HeaderStyle Font-Bold="True" BackColor="#D7D7D7"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="Title_ID"
HeaderText="Title_ID" SortExpression="Title_ID" />
<asp:BoundColumn DataField="Title" HeaderText="Title"
SortExpression="Title" />
<asp:BoundColumn DataField="Price" HeaderText="Price"
SortExpression="Price" />
<asp:BoundColumn DataField="Publication"
HeaderText="Publication" SortExpression="Publication" />
<asp:BoundColumn DataField="Type" HeaderText="Type"
SortExpression="Type" />
<asp:BoundColumn DataField="Authors" HeaderText="Authors"
SortExpression="Authors"></asp:BoundColumn>
</Columns>
</asp:datagrid>
<cc1:GridSlideHeader id="GridSlideHeader1"
runat="server" DataGridID="DataGridReport1" />
</form>
结论
这个服务器控件编写速度很快,还有很多改进空间。我没有时间实现设计器控件的东西,所以它在设计模式下可能看起来不太好。在实现 JavaScript 时,控件不是设置 TR
的位置,而是设置每个头部项目的 TD
位置。这是为了保持头部边框。最后,有人告诉我这个控件只在 IE 平台上兼容。理论上,它应该与支持 CSS 定位的任何浏览器兼容,但未经测试 :P。 享受吧,并告诉我你发现了什么错误~...