C# 寻呼机制

C# 寻呼机制,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在网格中处理大量记录。而不是将所有记录绑定到网格中。为什么不应该绑定属于第5页的记录集。您可以通过将AllowPaging设置为true和PageSize设置为每页要显示的记录数,在GridView上启用分页 分页的优点是,您可以将完整的数据源绑定到GridView,并允许用户在页面之间移动,而在服务器端总是使用完整的数据源的编程要少得多 编辑: 还建议您不要将整个数据集置于GridView视图状态,更好的选择是缓存数据并在页面加载中重新绑定您可以通过将允许分页设置为true和页面大小设置为

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

您可以通过将
AllowPaging
设置为true和
PageSize
设置为每页要显示的记录数,在GridView上启用分页

分页的优点是,您可以将完整的数据源绑定到GridView,并允许用户在页面之间移动,而在服务器端总是使用完整的数据源的编程要少得多

编辑:


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

您可以通过将
允许分页
设置为true和
页面大小
设置为希望每页显示的记录数,在GridView上启用分页

分页的优点是,您可以将完整的数据源绑定到GridView,并允许用户在页面之间移动,而在服务器端总是使用完整的数据源的编程要少得多

编辑:


还建议不要将整个数据集置于GridView视图状态,更好的选择是缓存数据并在页面加载中重新绑定。作为一种良好做法,不应将从查询中检索到的所有记录直接绑定到控件,如grid view,当然,除非你绝对确定记录的数量很少

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

我在以前的项目中使用的一种方法是获取受查询影响的记录总数。(假设他们是1000人)

然后我将记录数除以页面大小(比如100)

因此,现在我提供页面分页(1-10)

当用户单击特定页面时,我使用SQL中的
ROW\u NUMBER()
函数获取与该页面相关的记录

查询将类似于

SELECT x, y, ROW_NUMBER() OVER(ORDER BY z asc) AS 'RowNumber'
FROM t WHERE RowNumber > lowerlimit and RowNumber < upperlimit.
选择x,y,行号()作为“行号”
从t开始,其中RowNumber>下限,RowNumber<上限。
Lowerlimit和upperlimit是使用当前页码和页面大小计算的


我希望这能回答您的问题

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

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

我在以前的项目中使用的一种方法是获取受查询影响的记录总数。(假设他们是1000人)

然后我将记录数除以页面大小(比如100)

因此,现在我提供页面分页(1-10)

当用户单击特定页面时,我使用SQL中的
ROW\u NUMBER()
函数获取与该页面相关的记录

查询将类似于

SELECT x, y, ROW_NUMBER() OVER(ORDER BY z asc) AS 'RowNumber'
FROM t WHERE RowNumber > lowerlimit and RowNumber < upperlimit.
选择x,y,行号()作为“行号”
从t开始,其中RowNumber>下限,RowNumber<上限。
Lowerlimit和upperlimit是使用当前页码和页面大小计算的


我希望这能回答你的问题

互联网上有很多关于网格分页的例子。也许在一个著名的搜索引擎上进行搜索会引导您朝着正确的方向前进。如果您能更准确地告诉我们您在寻找什么(代码、理论等),我们可能会给您一些答案。遗憾的是,我看到的分页示例可能会将整个数据集放入ViewState。如果您看到了,请继续查看-有一些聪明的存储过程想法将page#/sort col info作为参数。您对这个问题的解决方案在我的案例中效果很好。谢谢这里有很多在互联网上为网格分页的例子。也许在一个著名的搜索引擎上进行搜索会引导您朝着正确的方向前进。如果您能更准确地告诉我们您在寻找什么(代码、理论等),我们可能会给您一些答案。遗憾的是,我看到的分页示例可能会将整个数据集放入ViewState。如果您看到了,请继续查看-有一些聪明的存储过程想法将page#/sort col info作为参数。您对这个问题的解决方案在我的案例中效果很好。感谢您不要提及,如果使用OnRowDataBound事件,则只有当前页面的项目将被绑定,因此您没有太多的工作要做。更不用说,如果使用OnRowDataBound事件,则只有当前页面的项目将被绑定,因此您没有太多的工作要做。