2

我正在尝试检索列表中的所有项目,但我只获得前 50 个项目(默认视图的第一页)。最终,我想将列表中的所有项目拉入一个数组,我可以对其进行排序和解析以输出一系列格式化 XSLT 中的统计信息,但让我们首先解决我们的第一个障碍。

这是我的代码:

<script src="/sites/mySite/Resources/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    var soapEnv =
        "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
            <soapenv:Body> \
                     <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
                        <listName>myList</listName> \
                        <viewFields> \
                            <ViewFields> \
                               <FieldRef Name='Team_x0020_Assigned' /> \
                           </ViewFields> \
                        </viewFields> \
                    </GetListItems> \
                </soapenv:Body> \
            </soapenv:Envelope>";

        $.ajax({
            url: "/sites/mySite/_vti_bin/lists.asmx",
            type: "POST",
            dataType: "xml",
            data: soapEnv,
            complete: processResult,
            contentType: "text/xml; charset=\"utf-8\""
        });
    });

    function processResult(xData, status) {
        $(xData.responseXML).find("z\\:row").each(function() {
            var liHtml = "<li>" + $(this).attr("ows_Team_x0020_Assigned") + "</li>";
            $("#tasksUL").append(liHtml);
        });
    }
</script>
4

1 回答 1

1

视图上可能设置了 rowLimit,您可以通过添加来覆盖它

<rowLimit>1000</rowLimit>

给GetListItems 参数。

请注意,尽管 SharePoint 2010 可以限制您的请求,但返回的项目数不会超过 5000 或 20000 个(对于管理员)。这些设置可以在 Central Admin 的 Web 应用程序设置中更改。

顺便说一句,如果您还没有这样做,您可能想要研究使用 XSLT 列表视图 Web 部件。

于 2013-03-15T01:23:42.450 回答