SharePoint2013 - Javascript - 客户端分页 - 使用 listitemcollectionposition

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

我正在根据某些过滤条件从共享点列表中获取数据。

我正在使用 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');

此代码无法正常工作,一些记录被遗漏。

javascript sharepoint pagination client-side listitem
2个回答
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");


0
投票

您可以在这里找到一个很好的示例,如何在 CSOM 中进行分页: https://code.msdn.microsoft.com/office/SharePoint-JSOM-list-5104ca92

有一些文章为您提供了有关 Sharepoint 2013 中分页的以下答案。

需要考虑的一个非常重要的因素: - 使用 JSOM 或经典的 Web 服务 svc/asmx 或 oData,您不能使用“$skip”粒子对列表项进行分页。因此,在 OOTB 中几乎不可能用数字进行真正的寻呼。 对于项目,您必须在 SOAP 中使用 listItemCollectionPosition 或使用 $skiptoken (oData)。 唯一可能的分页是上一个/下一个。

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