Sharepoint webpart中gridview的服务器端分页

时间:2009-04-13 18:16:02

标签: sharepoint gridview datatable

我自定义了一些驻留在 SharepPoint webparts中的控件。我使用 GridView 控件来利用内置的分页和列排序。 GridView 从循环遍历SPlist(带有 foreach 循环)的方法获取数据绑定,以构建 DataTable 。循环遍历列表需要应用逻辑来在网格中显示之前处理列表。

随着列表变大,页面需要更长时间(永远)加载。即使分页允许 GridView 只显示12行数据,我相信foreach循环正在处理整个列表。

我在.Net中使用SQL和nHibernate完成了服务器端分页。应该可以在 SharePoint 中执行此操作,对吧?我正在寻找一些指导,示例代码或任何类型的方向。即使是明确的“你是个白痴”也会有所帮助。

之前有人这样做过吗?或者,是否有人有他们可以建议的替代数据绑定示范?

感谢。

2 个答案:

答案 0 :(得分:2)

如果可以使用SPQuery获取数据,则可以使用RowLimit和ListItemCollectionPosition属性。

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitemcollectionposition.aspx

http://www.zimbio.com/SQL/articles/625/Paging+SPList+Sharepoint

答案 1 :(得分:0)

SharePoint下的分页与ASP.NET中的分页基本相同,如果存在速度差异,我会将其归因于SharePoint数据源,而不仅仅是网格视图在SharePoint中运行。

你的数据绑定是否比你需要的多?

您可能会将数据缓存在Page.Cache对象中,并在删除或更新数据时会破坏缓存副本。