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>");
}
}