在Sharepoint Web部件中,我有一个带有分页的DataGrid,我加载了所有数据(不使用自定义分页 - 自定义分页需要在当前进程中进行重大改进,这可能是我能做的最后一个选项之一尝试)。我想知道是否有可能让页面通过数据而不重新绑定数据源到页面索引更改事件中的网格?如果我删除当前调用以重新绑定数据,它将保留在第一页,无论如何。
答案 0 :(得分:0)
使用数据网格,我认为您需要在想要转到新页面时重新绑定网格。
“PageIndexChanged事件的典型处理程序将CurrentPageIndex属性设置为要显示的页面的索引,然后使用DataBind方法将数据绑定到DataGrid控件。”
如果您想避免从源中重新查询/获取数据,那么您需要在回发之间“缓存”数据。这里有各种各样的选择,每个选项都有自己的优点和缺点。
如果数据的大小不是太大而且不敏感,您可以简单地将数据放在第一页加载的viewstate中,并在更改页面索引时再次读取它。另一种选择可能包括使用Session来“缓存”数据,虽然如果做得不对,这可能会变得棘手,当然使用这种方法会在服务器端加载更多(具有不同的数量,具体取决于会话是否在-Proc,State Server或Database)。可能还有其他方法可以“缓存”数据,但在这种情况下,您需要执行此操作。