我使用以下代码查询SharePoint 2010外部列表
var targetList = web.get_lists().getByTitle('Members');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<view><Query><Where><Eq><FieldRef Name=\'MemberID\'/><Value Type=\'Text\'>mg33</Value></Eq></Where>'+
'</Query>'+
'<ViewFields>'+
'<FieldRef Name=\'MemberID\'/>'+
'<FieldRef Name=\'Name\'/>'+
'<FieldRef Name=\'Email\'/>'+
'<FieldRef Name=\'Department\'/>'+
'<FieldRef Name=\'Title\'/>'+
'<FieldRef Name=\'Manager\'/>'+
'</ViewFields></view>');
this.collListItem = targetList.getItems(camlQuery); clientContext.load(collListItem,'Include(MemberID,Name,Email,Department,Title,Manager)');
但查询正在检索所有列表而不是与where语句匹配的单个记录
答案 0 :(得分:4)
尝试查看此MSDN文章,例如:http://msdn.microsoft.com/en-us/library/hh185007.aspx
然后尝试以下代码。我将xml元素“view”更改为“View”,而.load()方法只有一个参数。没有必要使用第二个。
var targetList = web.get_lists().getByTitle('Members');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('
<View>
<Query>
<Where>
<Eq>
<FieldRef Name=\'MemberID\'/>
<Value Type=\'Text\'>mg33</Value>
</Eq>
</Where>'+
'</Query>'+
'<ViewFields>'+
'<FieldRef Name=\'MemberID\'/>'+
'<FieldRef Name=\'Name\'/>'+
'<FieldRef Name=\'Email\'/>'+
'<FieldRef Name=\'Department\'/>'+
'<FieldRef Name=\'Title\'/>'+
'<FieldRef Name=\'Manager\'/>'+
'</ViewFields>
</View>');
this.collListItem = targetList.getItems(camlQuery);
clientContext.load(collListItem);