Almacenar listas devueltas en una colección
Como se ve en el ejemplo siguiente, se puede usar el método loadQuery(clientObjectCollection, exp) en lugar del método load(clientObject) para almacenar el valor devuelto en otra colección en lugar de almacenarlo en la propiedad de las listas.function retrieveSpecificListPropertiesToCollection(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oWebsite = clientContext.get_web(); var collList = oWebsite.get_lists(); this.listInfoCollection = clientContext.loadQuery(collList, 'Include(Title, Id)');
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
}
function onQuerySucceeded() {
var listInfo = '';
for (var i = 0; i < this.listInfoCollection.length; i++) {
var oList = this.listInfoCollection[i];
listInfo += 'Title: ' + oList.get_title() +
' ID: ' + oList.get_id().toString();
}
alert(listInfo.toString());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
Aplicar filtros a la recuperación de listas
Como se muestra en el ejemplo siguiente, puede anidar instrucciones Include en una consulta JavaScript, para devolver metadatos de listas y campos. En el ejemplo se devuelven todos los campos de todas las listas dentro de un sitio web, y se muestra el título y el nombre interno de todos los campos cuyo nombre interno contiene la cadena "name".
function retrieveAllListsAllFields(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oWebsite = clientContext.get_web(); var collList = oWebsite.get_lists(); this.listInfoArray = clientContext.loadQuery(collList, 'Include(Title,Fields.Include(Title,InternalName))'); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this._onQueryFailed) ); } function onQuerySucceeded() { var listInfo = ''; for (var i = 0; i < this.listInfoArray.length; i++) { var oList = this.listInfoArray[i]; var collField = oList.get_fields(); var fieldEnumerator = collField.getEnumerator(); while (fieldEnumerator.moveNext()) { var oField = fieldEnumerator.get_current(); var regEx = new RegExp('name', 'ig'); if (regEx.test(oField.get_internalName())) { listInfo += '\nList: ' + oList.get_title() + '\n\tField Title: ' + oField.get_title() + '\n\tField Name: ' + oField.get_internalName(); } } } alert(listInfo); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
No hay comentarios.:
Publicar un comentario