0

GetListItems を使用して、特定の値を使用してリストをクエリし、そのクエリに一致する行のみを返すことができるかどうか疑問に思っています。

現時点では、GetListItems を使用してリスト内のすべてのアイテム、または特定のビュー内のすべてのアイテムを取得できますが、それ以上フィルターをかけることはできません。

返されたアイテムのセットに対してクエリを実行できることを感謝していますが、sharepoint にクエリを実行させることが可能か (そしておそらくより高速か) 疑問に思っていました。

yoursharepoint/_vti_bin/Lists.asmx?op=GetListItems ページで、

  <query>
    <xsd:schema>schema</xsd:schema>xml</query>
  <viewFields>
    <xsd:schema>schema</xsd:schema>xml</viewFields>
  <rowLimit>string</rowLimit>
  <queryOptions>
    <xsd:schema>schema</xsd:schema>xml</queryOptions>

しかし、これらのパラメータをどのように/使用できるかはわかりません。

4

2 に答える 2

1

簡単な答え: はい、さまざまなフィルタリングで使用できます。

フィルタリング言語 (XML) は CAML と呼ばれます。

多くの例については、SPServices のドキュメントとフォーラムを参照してください。GetListItems のドキュメントは、特にその使用法に関するニーズに対応する必要があります....

このガイドでは、 CAMLでのクエリの作成を開始できます。

于 2012-12-14T01:50:45.530 に答える
1

はい、GetListItems オペレーションを呼び出して、CAMLQuery パラメータを渡すことができます。次のhtmlを想定します

<div id='result'></div>

次の SPServices 呼び出しを使用して、タイトル列の用語「Bob Tester」に一致するすべてのリスト項目を探しています。

$().SPServices({
   operation: "GetListItems",
   async: false,
   listName: "MyCustomList",
   CAMLQuery: "<FieldRef Name='Title'></FieldRef><Value Type='Text'>Bob Tester</Value>",
   CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
   completefunc: function (xData, Status) {
      $(xData.responseXML).SPFilterNode("z:row").each(function() {
         var foundItem = "<div>" + $(this).attr("ows_Title") + " matches</div>";
         $("#result").append(foundItem);
      });
   }
});
于 2012-12-17T12:54:58.453 に答える