Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 如何在文件夹中查找项目计数?_Sharepoint - Fatal编程技术网

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属性!