Запрос списка SharePoint через SOAP, возвращающий только первую страницу просмотра

Я пытаюсь получить все элементы в списке, но получаю только первые 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>

1 ответ

Решение

Вероятно, для представления установлен rowLimit, вы можете переопределить его, добавив

<rowLimit>1000</rowLimit>

К параметрам GetListItems.

Обратите внимание, что SharePoint 2010 может ограничить ваш запрос и не возвращать более 5000 или 20000 (для администраторов) элементов. Эти параметры можно изменить в настройках веб-приложения Central Admin.

Кроме того, если вы еще этого не сделали, возможно, вы захотите изучить использование веб-части представления списка XSLT.

Другие вопросы по тегам