寻呼机制

时间:2009-06-23 13:30:35

标签: c# asp.net gridview

我处理网格中大量记录的情况。而不是将所有记录绑定到网格中。为什么我们不应该绑定属于第5页的记录集。

2 个答案:

答案 0 :(得分:2)

您可以将AllowPaging设置为true,将PageSize设置为您希望每页显示的记录数,从而在GridView上启用分页。

分页的优势在于,您可以将完整数据源绑定到GridView,并允许用户在页面之间移动,在服务器端编程更少,以便始终使用完整数据源。

编辑:

还建议您不要将整个数据集置于GridView视图状态,更好的选择是缓存数据并在页面加载中重新绑定

答案 1 :(得分:2)

作为一种好的做法,不应该将从查询中检索到的所有记录直接绑定到控件(如网格视图),除非您当然绝对确定记录数量很少。

这是因为当记录数量很大时,页面加载速度会变慢,因为绑定需要花费很多时间。

我在之前的项目中使用的一种方法是获取受查询影响的记录总数。 (可以说他们是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.

使用当前页码和页面大小计算下限和上限。

我希望这能回答你的问题