Je présume que vous recherchez des enfants directs et non des descendants (comme des éléments dans un sous-dossier).
Voulez-vous également inclure des sous-dossiers dans le nombre? Dans ce cas, vous pouvez utiliser: SPFolder.ItemCount
.
Si vous voulez juste que les listItems enfants directs qui ne sont pas des sous-dossiers, vous pouvez faire quelque chose comme ce qui suit:
using (SPSite site = new SPSite(mySPSite))
{
SPWeb web = site.OpenWeb();
SPList list = web.Lists[myList];
SPFolder folderInstance = list.RootFolder.SubFolders[folderUrl];
SPQuery query = new SPQuery() ;
query.Folder = folderInstance;
SPListItemCollection items = list.GetItems(query) ;
Console.WriteLine(items.Count);
}
Je ne l'ai pas essayé. Vous devrez peut-être ajouter une clause where pour éliminer les dossiers, si la requête renvoie cela.
Si vous souhaitez inclure tous les éléments de liste, même dans les sous-dossiers, définissez le champ SPQuery.ViewAttributes
comme query.ViewAttributes = "Scope=\"Recursive\""
;
Oui, j'ai besoin du nombre d'articles sans sous-dossiers. Est-il possible d'obtenir ceci sans lancer une requête? – Vijay
Ne sait pas. Vous pourriez avoir un peu de chance avec SPFolder.Item.ListItems. –
Non. SPFolder.Items.ListItems n'a pas aidé. J'ai utilisé votre solution car je ne pouvais pas trouver ce que je cherchais :) Merci! – Vijay