我在一个网格中处理大量记录的情况下。而不是将所有记录绑定到网格中。为什么我们不应该绑定属于第5页的记录集。
发布于 2009-06-23 13:42:20
您可以在GridView上启用分页,方法是将AllowPaging设置为true,将PageSize设置为您希望每页显示的记录数。
分页的优点是,您可以将完整的数据源绑定到GridView,并允许用户在页面之间移动,这大大减少了服务器端的编程工作,以便始终使用完整的数据源。
编辑:
还建议您不要将整个dataset置于GridView视图状态,更好的选择是缓存数据并在页面加载中重新绑定
发布于 2009-06-23 13:48:35
作为一种好的实践,不应该将从查询中检索到的所有记录直接绑定到诸如网格视图之类的控件,除非您绝对确定记录的数量很少。
这是因为当记录数量很大时,页面加载速度会变慢,因为绑定需要很长时间。
我在上一个项目中使用的一种方法是获取受查询影响的记录总数。(假设它们是1000)。
然后,我将记录的数量除以页面大小(比如100)。
因此,现在我提供分页(1-10)。
当用户单击特定页面时,我使用SQL中的ROW_NUMBER()函数获取与该页面相关的记录。
查询将如下所示
SELECT x, y, ROW_NUMBER() OVER(ORDER BY z asc) AS 'RowNumber'
FROM t WHERE RowNumber > lowerlimit and RowNumber < upperlimit.使用当前页码和页面大小计算下限和上限。
我希望这能回答你的问题。
https://stackoverflow.com/questions/1032596
复制相似问题