在SharePoint中通过SPQuery.Folder属性, 可以很方便的查询列表下文件夹中的数据, 下面介绍如何使用:
- SPQuery.Folder: Gets or sets the folder within a document library from which to return items in the query.
- Demo:
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb) { oWebsiteRoot.Lists.IncludeRootFolder = true; SPList oList = oWebsiteRoot.Lists["Document_Library_Name"]; SPFolder oFolder = oList.RootFolder.SubFolders["Folder_Name"]; SPQuery oQuery = new SPQuery(); oQuery.Folder = oFolder; SPListItemCollection collListItems = oList.GetItems(oQuery); foreach (SPListItem oListItem in collListItems) { Response.Write(SPEncode.HtmlEncode(oListItem.File.Name) + "<BR>"); } }
- SPFolder:
SPSite oSiteCollection = SPContext.Current.Site; SPWebCollection collWebsites = oSiteCollection.AllWebs; foreach (SPWeb oWebsite in collWebsites) { SPFolderCollection collFolders = oWebsite.Folders; foreach (SPFolder oFolder in collFolders) { SPFileCollection collFiles = oFolder.Files; long lngTotalFileSize = 0; for (int intIndex = 0; intIndex < collFiles.Count; intIndex++) { lngTotalFileSize += collFiles[intIndex].Length; } Label1.Text += " Web: " + SPEncode.HtmlEncode(oWebsite.Name) + " Folder: " + SPEncode.HtmlEncode(oFolder.Name) + " Number: " + oFolder.Files.Count + " Size: " + lngTotalFileSize + "<BR>"; } oWebsite.Dispose();
}
文章来源: