Come leggere gli item di una lista SharePoint tramite Javascript Object Model
Un esempio di come leggere gli item di una lista SharePoint 2013 tramite il JavaScript Object Model:
Per utilizzarlo inserisci un elemento html in pagina, come ad esempio:
ed invoca il caricamento degli item al completamento del caricamento della pagina:
Questo codice può essere usato, ad esempio, inserendolo in una Content Editor Web Part.
JavaScript
//http://www.sgart.it
function listLoad(objId) {
//ricavo il contesto corretne
var ctx = SP.ClientContext.get_current();
//setto la lista da leggere
var oList = ctx.get_web().get_lists().getByTitle('MiaLista');
var camlQuery = new SP.CamlQuery();
//imposto la query e l'ordinamento
camlQuery.set_viewXml( '<View><Query>' +
'<OrderBy><FieldRef Name="Date" Ascending="True"></FieldRef></OrderBy>' +
'<Where><Geq><FieldRef Name=\'ContentType\'/><Value Type=\'Text\'>News</Value></Geq></Where>' +
'</Query><RowLimit>3</RowLimit></View>' );
var items = oList.getItems(camlQuery);
//preparo l'oggetto per la lettura e scelgo i campi da caricare
ctx.load(items, "Include(Id,Title,FileRef)");
//eseguo la query
ctx.executeQueryAsync(
function (sender, args) { //success
var itemEnumerator = items.getEnumerator();
var s = "";
while (itemEnumerator.moveNext()) {
var oItem = itemEnumerator.get_current();
//leggo i valori dell'item corrente
var title = oItem.get_item('Title');
var comments = oItem.get_item('Comments');
var url = oItem.get_item('FileRef');
//costruisco l'html
s += "<li><a title=\"\" href=\"" + url + "\">" + title + "</a></li>";
}
//trovo l'oggetto nel DOM
var div = document.getElementById(objId);
//imposto il conteuto da visualizzare
div.innerHTML = "<ul>" + s + "</ul>";
},
function (sender, args) { // gestione errore di comunicazione
var div = document.getElementById(objId);
div.innerHtml = "<p>" + args.get_message() + " | " + args.get_stackTrace() + "</p>";
}
);
}
HTML
<div id="sgart-list-item">wait ...</div>
JavaScript
function sgartListLoad(){
listLoad("sgart-list-item");
}
ExecuteOrDelayUntilScriptLoaded(sgartListLoad, "SP.js");