Пейджинг на стороне сервера для gridview в веб-части Sharepoint - PullRequest
2 голосов
/ 13 апреля 2009

У меня есть некоторые элементы управления, расположенные в SharepPoint веб-частях. Я использую GridView элемент управления, чтобы использовать преимущества встроенного разбиения на страницы и сортировки столбцов. GridView получает данные из метода, который повторяет цикл SPlist (с циклом foreach) для построения DataTable . Этот цикл по списку необходим для применения логики для обработки списка перед отображением в сетке.

По мере увеличения списка страница загружается дольше (навсегда). Хотя подкачка позволяет GridView отображать только 12 строк данных, я считаю, что цикл foreach обрабатывает весь список.

Я выполнил подкачку на стороне сервера в .Net с помощью SQL и nHibernate. Это должно быть возможно сделать в SharePoint , верно? Я ищу руководство, пример кода или любое другое направление. Даже категорический "ты идиот" поможет.

Кто-нибудь делал это раньше? Или у кого-нибудь есть альтернативная схема связывания данных, которую они могут предложить?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 апреля 2009

Если возможно получить данные с помощью SPQuery, вы можете использовать свойства RowLimit и ListItemCollectionPosition.

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

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

0 голосов
/ 20 апреля 2009

Пейджинг в SharePoint в основном такой же, как в ASP.NET, и если есть разница в скорости, я бы отнес его к вашему источнику данных SharePoint, а не просто к тому, что gridview работает в SharePoint.

Вы связываете данные больше, чем нужно?

Вы могли бы кэшировать свои данные в объекте Page.Cache и уничтожать копию кэша всякий раз, когда что-то вроде удаления или обновления загрязняет данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...