DataGrid的客户端分页

来源:原著:Jeff Prosise  作者:翻译:xiaojin
摘要:原文出处:MSDN Magazine Feb 2004 (Client-side Paging for DataGrids) 原代码下载:WickedCode0402.exe (120KB)开发人员对ASP.NET中的DataGrid控件又……

警告

难道在客户端分页就没有缺点吗?你讲对了。数据量越大,页面装入速度就会越慢,因为要装入全部的数据,而不只是显示页的数据。相对较小的记录集,1000条记录或更少,你就可以不关注这个问题了。对于非常大的记录集,装入时间就将会是难以接受的长。

另外一个要考虑的因素是带宽,大的DataGrid会在两方面增加下载时间。第一会增大HTML表格,第二会增加视图状态的大小。因为ASP.NET通过一个隐含字段保持视图状态,DataGrid的内容本来就是在HTTP请求时显示一次,在HTTP响应时显示两次。这就是要保证数据量少,大的数据量还是最好用服务器端分页。当有大量的记录时你还要使用ClientPageDataGrid,最好设置控件的EnableViewState属性为false,并且在每一个页面请求时绑定数据。这样会减少相应大小约2/3。

对ClientPageDataGrid的最后一个思考是,你大概会设置ClientPageSize为一个偶数,如果你使用AlternatingItemStyle来呈现奇数项来区别于偶数项。第一页将在顶端拥有一个不交互的项。第二页将有一个交互的项,并且其他也这样。这样会导致用户考虑为什么表格格式变来变去,每次都不同于前面的页面。

结束语

DataGrid是ASP.NET中最重要的功能之一,归功于它在重用类中隐含了复杂的构造和非凡的逻辑。ClientPageDataGrid 将给服务器端的控件带来一个适应未来步伐的思想,证明了不仅仅要考虑如何修改嵌入控件来使用,而且还要考虑如何扩展客户端的功能。服务器控件依赖于客户端脚本,工作将更有效率,这是一个非常好的主意。希望所有控件的作者同意这个看法。
有什么问题或建议,请发邮件到:wicked@microsoft.com
 
 作者简介

Jeff Prosise是MSDN杂志的资深编辑,和一些书的作者,例如《Programming Microsoft .NET》(微软出版社,2002),同时他还是Wintellect网站(http://www.wintellect.com)的共同创办人,该网站是一个专门提供Microsoft .NET的咨询和教育公司。 
 
本文出自 MSDN Magazine,2004年2月号。你可以从附近的报摊获得,更好的方法是 订阅。

【相关文章】好搜一下
使用Visual Studio 2010空白解决方案的三个理由

使用Visual Studio 2010空白

在Visual Studio 2010(包括以前的版本中)都提供了很多现成的解决…