【问题标题】:How to avoid the refetch of records when paging button is clicked on the radgrid在radgrid上单击分页按钮时如何避免重新获取记录
【发布时间】:2010-04-07 09:23:26
【问题描述】:
我在我的 Web 应用程序中使用 radgrid。我想避免在 radgrid 上单击分页按钮时重新获取记录。
我有一个方法 SetTodaysAlerts 可以获取大约 100 条记录并绑定到我的 radgrid。 radgrid 的页面大小为 10,因此可以使用 First、Next、Previous 和 Last 按钮。当我单击下一步按钮时,如何避免再次重新获取记录。
仅供参考:我正在使用 radgrid_NeedDataSource 事件,当单击 radgrid 上的任何导航按钮时,该事件会再次获取数据。
【问题讨论】:
标签:
fetch
paging
radgrid
restrict
【解决方案1】:
基本上,您需要一个计算查询记录总数的函数,另一个只选择当前页面内的记录。
使用 RadGrid 时(假设 AllowCustomPaging = true),您需要先计算记录总数并将值保存在 RadGrid 的属性 VirtualItemCount 中。
现在在更改页面时调用的 NeedDataSource 中,您需要计算要检索的记录范围,如下所示:
int firstRow = radGrid.CurrentPageIndex * radGrid.PageSize;
int maxRow = radGrid.PageSize;
然后将它们传递到您的查询中,获取结果,执行 set DataSource 和 Rebind()