具有持久数据的DataGrid分页

问题描述 投票:0回答:1

在 Sharepoint Web 部件中,我有一个带有分页的 DataGrid,可以加载所有数据(不使用自定义分页 - 自定义分页需要在当前流程中进行重大修改,并且可能是我可以尝试的最后选项之一) 。 我想知道是否可以让它分页浏览数据,而无需在页面索引更改事件中将数据源重新绑定到网格? 如果我删除当前重新绑定数据的调用,无论如何它都会保留在第一页上。

c# sharepoint pagination datagrid
1个回答
0
投票

使用数据网格,我认为每当你想进入新页面时都需要重新绑定网格。

“PageIndexChanged 事件的典型处理程序将 CurrentPageIndex 属性设置为要显示的页面的索引,然后使用 DataBind 方法将数据绑定到 DataGrid 控件。”

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.onpageindexchanged(VS.71).aspx

如果您想避免从源再次查询/获取数据,那么您需要在回发之间“缓存”数据。 这里有多种选择,每种选择都有其自身的优点和缺点。

如果数据量不是太大且不敏感,可以简单地在第一次页面加载时将数据放入ViewState中,当页面索引发生变化时再次将其读取出来。 另一种选择可能包括使用 Session 来“缓存”数据,尽管如果做得不好,这可能会变得很棘手,当然,使用此方法在服务器端会产生更多负载(数量不同,具体取决于 Session 是否在-Proc、状态服务器或数据库)。 可能还有其他方法来“缓存”数据,但这就是您在这种情况下需要做的。

© www.soinside.com 2019 - 2024. All rights reserved.