0

Sharepoint 2010 リストがあります。各アイテムは、2 番目のリスト (「拡張」) に「関連アイテム」を持つことができます。次のコードを使用して、その関連アイテムが存在するかどうかを判断します (list.getItems を使用)。

存在する場合は、そのアイテムの ID を (「listCollection」から) 読み取り、それを使用してそのアイテムの表示フォームを開きたいと思います。しかし、listCollection のオブジェクトからアイテムの ID を取得するにはどうすればよいでしょうか?

    var listCollection;
    function getExtended() {
        try {
            var context = new SP.ClientContext.get_current();
            var web = context.get_web();
            var list = web.get_lists().getByTitle('Extended');
            var query = '<View Scope=\'RecursiveAll\'>'+
                            '<Query>'+
                                '<Where>'+
                                '<Contains>'+
                                    '<FieldRef Name=\'MainId\'/>' +
                                    '<Value Type=\'Integer\'>' + GetId() +'</Value>'+
                                '</Contains>'+
                                '</Where>'+
                            '</Query>'+
                                 '</View>';
            var camlQuery = new SP.CamlQuery();
            camlQuery.set_viewXml(query);

            this.listCollection= list.getItems(camlQuery);
            context.load(this.listCollection, 'Include(MainId, Status, ID)');
            context.executeQueryAsync(Function.createDelegate(this, this.listReceived), Function.createDelegate(this, this.failed));
        }
        catch (e) {
            alert(e);
        }
    }

    function listReceived() {

                   var count=this.listCollection.get_count();
            if (count==0){
                $("#extendButton").html("<input type='button' onclick='NewExt()' value='Create new extended'/>");
            } else {
                $("#extendButton").html("<button>Show extended</button>");
            }

    }
4

1 に答える 1

0

私の質問を読み直すのは興味深いことですが、私が自分自身に何を求めていたのかが完全には明確ではありません. しかし、私が最終的に使用したコードは単純でした:

var listItemEnumerator = this.listCollection.getEnumerator();

while (listItemEnumerator.moveNext()) {    
      var oListItem = listItemEnumerator.get_current();
      childId= oListItem.get_item('ID');
} 

(1項目の)リストを非常に複雑な方法で処理している場合でも、これは少なくとも機能しました。

于 2012-05-23T08:24:17.630 に答える