Dans cet article nous allons voir comment lister tous les
dossiers et sous dossiers d’une Document Library ou d’une liste.
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.
et en modifiant le ViewAttributes.
Voir l’exemple suivant :
SPSite site = SPContext.Current.Site;
SPWeb web = SPContext.Current.Web;
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.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/>”;
}
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.
é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