jeudi 20 mai 2010

MOSS 2007 – Récupérer tous les dossiers et sous-dossiers d’une liste SharePoint


Dans cet article nous allons voir comment lister tous les
dossiers et sous dossiers d’une Document Library ou d’une liste.

La manière simple, en utilisant une SPQuery
et en modifiant le ViewAttributes.

Voir l’exemple suivant :

SPSite site = SPContext.Current.Site;

SPWeb web = SPContext.Current.Web;

SPList list = web.Lists["Shared
Documents"
];


SPQuery query = new SPQuery();


//Condition
query.Query = “<Where><Eq><FieldRef
Name=’FSObjType’/><Value
Type=’Lookup’>1</Value></Eq></Where>”
;


 query.ViewAttributes = “Scope=’RecursiveAll’”;


SPListItemCollection items = list.GetItems(query);


string folderDetails=“”;


//Get the name and Url for the folder
foreach (SPListItem item in items)
{
folderDetails += “Folder Name:” + item.Name + “<br/>Folder
URL:”
+ web.Url + “/” + item.Url + “<br/>”;

}


Dans la propriété Query du SPQuery il faut mettre la condition FSObjType
égal à 0. C’est le type des dossiers, les Items et Documents sont à 1.

Pour le passage récursif modifier : Scope=RecusirveAll .

Source : http://ktskumar.com/blog/2009/07/10/retrieve-all-folders-from-list/

Aucun commentaire:

Enregistrer un commentaire