这是我的代码:\
这里 pranav_list
是列表名称,Main
是该列表的 View 。
<script type="text/javascript">
function retrieveListViewItems(){
alert('start');
var cc = SP.ClientContext.get_current();
var alllist = cc.get_web().get_lists().getByTitle('pranav_list');
var view = alllist.get_views().getByTitle('Main');
var caml = new SP.CamlQuery();
caml.set_viewXml('<View><Query><Where><Leq>' +
'<FieldRef Name=\'ID\'/><Value Type=\'Number\'>100</Value>' +
'</Leq></Where></Query><RowLimit>8</RowLimit></View>');
this.list = view.getItems(caml);
cc.load(list);
cc.executeQueryAsync(Function.createDelegate(this,this.QuerySucceeded5),Function.createDelegate(this,this.onQueryFailed));
}
function QuerySucceeded5(){
var listiteminfo='';
var listItemEnumerator = list.getEnumerator();
while(listItemEnumerator.moveNext())
{
var listitem = listItemEnumerator.get_current();
listiteminfo += '\nID:'+ listitem.get_id() +
'\nFirstName:' + listitem.get_item('Title') +
'\nLastName:' + listitem.get_item('LN') +
'\nAge:' + listitem.get_item('Age') +
'\n City:' + listitem.get_item('City');
// alert(listiteminfo.toString());
}
alert(listiteminfo.toString());
}
function onQueryFailed(){
alert("Failed");
}
</script>
救命!!
最佳答案
由于 JSOM API 不支持从 View 中检索列表项,您可以考虑以下方法:
- 检索 View 的 CAML 查询
- 向
SP.List.getItems()
方法提供该查询
示例
function getItemsFromView(listTitle, viewTitle,success,error)
{
var ctx = SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle(listTitle);
var view = list.get_views().getByTitle(viewTitle);
ctx.load(view,'ViewQuery');
ctx.executeQueryAsync(
function() {
var viewQry = "<View><Query>" + view.get_viewQuery() + "</Query></View>";
getItems(listTitle,viewQry,success,error);
},
error);
}
function getItems(listTitle, queryText,success,error)
{
var ctx = SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle(listTitle);
var query = new SP.CamlQuery();
query.set_viewXml(queryText);
var items = list.getItems(query);
ctx.load(items);
ctx.executeQueryAsync(
function() {
success(items);
},
error
);
}
使用
以下示例演示如何从任务
列表中的所有任务
View 检索列表项:
getItemsFromView("Tasks", "All Tasks",
function(items){
for(var i = 0; i < items.get_count(); i++){
var item = items.get_item(i);
console.log(item.get_item('Title'));
}
},
function(sender,args){
console.log(args.get_message())
});
关于javascript - 使用 Javascript 从 Sharepoint 列表的 ListView 中检索项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28764636/