0

ここで困った!フォト ギャラリー リスト (PhotoGallery) がある共有ポイント サイトがあります。このリストをクエリして、指定したギャラリー (フォルダー) から画像を取得する必要があります。このフォト ギャラリー内のすべてのギャラリー (フォルダー) を読み込む選択メニューを備えた Web パーツを開発しました。次に、特定のギャラリー (フォルダー) を選択すると、そのギャラリー (フォルダー) の画像を含むモーダルが表示されます。しかし、私は正しい結果を取り戻すことができません。クエリは、リストのすべてのギャラリー (フォルダー) のリストのみを返します。画像は返されません。しかし、これについての面白い点は、ブラウザを停止して、既にフォルダーの値を含むクエリをコピーし、それをCaml Query Helperに貼り付けると、クエリが正常に機能することです! 私のクエリは次のとおりです。

var camlQ = new SP.CamlQuery();

camlQ.set_viewXml("<Where><And><Eq><FieldRef Name=\"ContentType\" /><Value Type=\"Text\">Image</Value></Eq><Contains><FieldRef Name=\"FileRef\" /><Value Type=\"Text\">" + VALUE_FROM_OPTION + "</Value></Contains></And></Where>");

var clientCtx = new SP.ClientContext.get_current();
this.results = clientCtx.get_web().get_lists().getByTitle("PHOTO_GALLERY_NAME").getItems(camlQ);

clientCtx.load(this.results);

clientCtx.executeQueryAsync(Function.createDelegate(this, function(sender, args){

    // SOME CODE

}), Function.createDelegate(this, function(sender, args){

    // SOME CODE

}));
4

1 に答える 1

1

あなたのCAMLクエリは正しいようですが、SP.CamlQuery.set_viewメソッドはルート要素があるxmlを受け入れますView(Query要素も必要です)。

したがって、WhereブロックをQuery要素でラップしてから、要素でラップします。次にView例を示します。

var query=new SP.CamlQuery();
query.set_viewXml('<View Scope="RecursiveAll"><Query><Where><Eq><FieldRef Name="FSObjType" /><Value Type="Integer">1</Value></Eq></Where></Query></View>');
于 2014-05-31T12:17:54.380 に答える