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(管理者用)を超えるアイテムを返すことはできません。これらの設定は、サーバーの全体管理のWebアプリケーション設定で変更できます。

余談ですが、まだ行っていない場合は、XSLTリストビューWebパーツの使用を検討することをお勧めします。

于 2013-03-15T01:23:42.450 に答える