Quando si eseguono delle query sulle document library di SharePoint, esiste la possibilità di incorrere in un errore piuttosto infido anche dopo molto tempo che il nostro applicativo si trova in produzione. Magari perché quel particolare folder contiene ora più elementi di quanto avevamo previsto o magari perché l’amministratore del sito ha ridotto il limite degli items visualizzabili per quella particolare vista, la nostra query da ora un risultato su più pagine ed il nostro codice non funziona più :-(
Per ovviare a tale situazione è sempre buona norma verificare la proprietà ListItemCollectionPosition ed effettuare un loop finché non ci ritorna il valore NULL.
SPSite site = new SPSite("http://myServer:1001/sites/mySite/Documents");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["MiaLista"];
SPQuery query = new SPQuery(list.Views["All Items"]);
do
{
SPListItemCollection results = list.GetItems(query);
foreach (SPListItem listItem in results)
{
// .... do something
}
query.ListItemCollectionPosition = results.ListItemCollectionPosition;
} while (query.ListItemCollectionPosition != null);
|
Technorati Tags:
SharePoint,
.NET
posted @ giovedì 23 novembre 2006 14:44