2014-06-13 67 views
1

我從基於某些篩選條件的SharePoint列表中獲取數據。SharePoint2013 - Javascript - 客戶端分頁 - 使用listitemcollectionposition

我正在使用JavaScript對象模型獲取記錄。這工作正常。

我正面臨着分頁問題。

我剛纔提到的這篇文章:

http://social.technet.microsoft.com/wiki/contents/articles/18606.sharepoint-2013-paging-with-sharepoint-client-object-model.aspx

這適用於 「下一頁」。 在我的情況下,它不適用於「上一頁」,因爲值是隨機檢索的。所以,這些ID不是連續的。

listItemCollectionPosition」僅適用於連續的數據嗎?

previousPagingInfo = "PagedPrev=TRUE&Paged=TRUE&p_ID=" + myListItems.itemAt(0).get_item('ID'); 

此代碼無法正常工作,有些記錄正在丟失。

+0

有關此主題的微軟文檔目前仍不存在或不實用。這真是一個恥辱。微軟是否認爲我們喜歡猜測以分頁信息傳遞什麼?我向他們發送了MSDN頁面上的反饋,希望他們有一天會添加更多信息。 – Patric

回答

0

你可以在這裏找到一個很好的例子,如何在CSOM頁: https://code.msdn.microsoft.com/office/SharePoint-JSOM-list-5104ca92

有一些文章,讓您在Sharepoint 2013年

關於尋呼如下回答需要考慮的重要因素有: - 使用JSOM或經典的webservices svc/asmx或oData,不能使用「$ skip」粒子對列表項進行分頁。因此,用數字進行真正的分頁幾乎是不可能的。 對於項目,您必須在SOAP中使用listItemCollectionPosition或使用$ skiptoken(oData)。 可能的唯一分頁是上一個/下一個。

1

listItemCollectionPosition適用於自定義過濾和排序列表數據。

在您分享的鏈接中,還有另一篇鏈接的文章,其中有一個排序和分頁示例。 https://code.msdn.microsoft.com/sharepoint/SharePoint-JSOM-list-5104ca92

您需要將其他值添加到previousPagingInfo字符串以指定如何排序結果。在下面的例子中,我假定你正在用名爲「SORTCOLUMNNAME」的列表列對結果進行排序。

previousPagingInfo = "PagedPrev=TRUE&Paged=TRUE&p_ID=" + myListItems.itemAt(0).get_item('ID') + "&p_SORTCOLUMNNAME=" + myListItems.itemAt(0).getitem("SORTCOLUMNNAME");