使用SPQuery是否可以获取SharePoint文档库中所有文件夹的列表?
如果您打开Windows命令提示符并运行,您可以在文件系统中获得类似的内容:
dir /b /A:D /S
问题是,如果您创建了一个简单的SPQuery并将viewAttributes设置为
Scope='RecursiveAll'
,则结果集包含项,但不包括文件夹。或者我完全错过了什么?
更新:这个问题的原因是(曾经),我必须创建一个解决方案,其中“文件包”有意义。当我的客户谈论“文档”时,他实际上指的是可能由多个文件和一组共同的元数据组成的实体。
例如,文档可以命名为“A letter to my grandma”(属性:grandma's address,letter title),但它由几个文件组成:MS Word文档中的实际信函和JPEG图片。
因此,想法是我可以创建一个从文件夹派生出来的内容类型,并向该内容类型添加一些字段(地址、标题)。放置在该文件夹中的所有文件自然都会成为“文档”的一部分。
由于我们预计会有大量此类文档,因此我们也创建了常规类型文件夹的文件夹层次结构。
现在,我们来到问题:如何向我的客户显示像“最近的文档”这样的视图?这必须递归地工作,以枚举所有的“文档”。通过
SPFolder
对象进行递归太慢了,因为必须进行大量请求。我们希望通过递归的SPQuery
,但这似乎无法解决。