admin管理员组文章数量:1332980
This is my code:\
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>
Help.!!
This is my code:\
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>
Help.!!
Share Improve this question asked Feb 27, 2015 at 11:59 Pranav BilurkarPranav Bilurkar 9651 gold badge9 silver badges26 bronze badges2 Answers
Reset to default 1Since JSOM API does not support to retrieve list items from a View you could consider the following approach:
- retrieve CAML query for a View
- provide that query to
SP.List.getItems()
method
Example
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
);
}
Usage
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())
});
This might help some people here. The code did not work for me until I added the line to check that sp.js was loaded.
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
function sharePointReady(){
//Code goes here
}
Also note that I used the context of a site other than the current site. See below for my whole solution. Thanks Vadim!!! A real life saver. Other sample code and documentation code did not work for me.
<script type="text/javascript">
$(document).ready(function(){
//Make sure the necessary SharePoint script file 'sp.js' is loaded before your code runs
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
function sharePointReady(){
getItemsFromView("My List", "All Items",
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())
});
}
}); //End Document.ready
function getItemsFromView(listTitle, viewTitle,success,error)
{
var ctx = new SP.ClientContext('https://mywebsite.name/site/subsite');
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 = new SP.ClientContext('https://mywebsite.name/site/subsite'');
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
);
}
</script>
本文标签: Retrieve Items from a List View of a Sharepoint List using JavascriptStack Overflow
版权声明:本文标题:Retrieve Items from a List View of a Sharepoint List using Javascript - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742344636a2457278.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论