Sharepoint 如何在文件夹中查找项目计数?
我有一个在文件夹层次结构中存储项目的列表 我注意到Sharepoint 如何在文件夹中查找项目计数?,sharepoint,Sharepoint,我有一个在文件夹层次结构中存储项目的列表 我注意到SPFolder.Files.Count始终为零 有没有办法找出一个文件夹中有多少列表项?我想您是在寻找直接的子项,而不是子项(如子文件夹中的项) 是否还要在计数中包括子文件夹?在这种情况下,您可以使用:SPFolder.ItemCount 如果您只需要不属于子文件夹的直接子listItems,则可以执行以下操作: using (SPSite site = new SPSite(mySPSite)) { SPWeb web = site.
SPFolder.Files.Count
始终为零
有没有办法找出一个文件夹中有多少列表项?我想您是在寻找直接的子项,而不是子项(如子文件夹中的项) 是否还要在计数中包括子文件夹?在这种情况下,您可以使用:
SPFolder.ItemCount
如果您只需要不属于子文件夹的直接子listItems,则可以执行以下操作:
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);
}
我还没试过。如果查询返回where子句,则可能必须添加where子句以删除文件夹
如果要包括所有列表项,即使是在子文件夹中,请将SPQuery.viewtattributes
字段设置为query.viewtattributes=“Scope=\”Recursive\”
使用SPList.ItemCount属性是
检索
列表中的项目数。作为一方
调整此属性的效果
性能,但是,该属性可以
偶尔意外地回来
结果。例如,如果您需要
确切的项目数量,你应该
使用
我想知道这是否也适用于SPFolder.ItemCount?是否尝试从SPFolder获取SPListItem,并检查SPBuiltFieldId.ItemChildCount和SPBuiltFieldId.FolderChildCount字段中的值 大概是这样的:
SPFolder folder = ...;
int? noOfItems = folder.Item[SPBuiltInFieldId.ItemChildCount] as int?;
int? noOfFolders = folder.Item[SPBuiltInFieldId.FolderChildCount] as int?;
看
有关详细信息。是的,我需要不带子文件夹的项目计数。有没有可能在不触发查询的情况下获取此信息?不知道。您可能会在SPFolder.Item.ListItems.Nope方面有一些运气。SPFolder.Items.ListItems没有帮助。我使用了你的解决方案,因为我找不到我想要的:)谢谢!如果这个答案不能解决您的问题,那么为什么会被接受?它会误导别人!!!SPFolder未定义ItemCount属性!