使用 Javascript 从 Sharepoint 列表的列表视图中检索项目 [英] Retrieve Items from a List View of a Sharepoint List using Javascript
本文介绍了使用 Javascript 从 Sharepoint 列表的列表视图中检索项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的代码:\
这里 pranav_list
是列表名称,Main
是该列表的视图.
Here pranav_list
is list name and Main
is view of that list.
<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 不支持从视图中检索列表项,您可以考虑以下方法:
Since JSOM API does not support to retrieve list items from a View you could consider the following approach:
- 检索视图的 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
);
}
用法
以下示例演示了如何从 Tasks
列表中的 All Tasks
视图中检索列表项:
The following example demonstrates how to retrieve List Items from All Tasks
view in Tasks
list:
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 从 Sharepoint 列表的列表视图中检索项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文