为什么在应用过滤器时未显示文件夹中的文档?
-
16-10-2019 - |
题
我在文档列表中添加了一个名为Project(String)的自定义列。然后,我在不同页面中设置不同的视图以在该列上过滤。
问题是,在应用过滤器时,即使项目列的值对应于过滤器中的一个集合,也不会显示存储在文件夹中的文档。
您知道如何解决这个问题吗?
解决方案
根据您的最后评论
我创建一个WebPart以在特定页面上显示文档列表,然后在列内容上应用了一个过滤器以仅显示某些文档。但是,以这种方式,文件夹结构丢失了,所有文档均显示平坦。
我想我现在可以回答您的问题。
如果创建新视图并在“过滤器”部分中选择
内容类型等于文件夹
或者
然后添加您希望应用于文档的其他条件。
以这种方式,将始终显示文件夹,但其内容将根据附加约束过滤。
这将导致显示文件夹是否包含与其他约束相匹配的任何孩子,但您将能够导航层次结构。
其他提示
如果您在代码中创建了视图,则需要指定范围=“递归” viewAttribute
这里给出了一些示例
如果您使用SharePoint UI创建视图,则需要
- 修改视图。
- 在“编辑视图”页面中展开“文件夹”部分
- 选择“显示所有没有文件夹的项目”
这将执行递归查询。
指定 ViewAttributes Scope='Recursive'
似乎不起作用,而是需要将SPView的范围设置为递归:
SPView view = list.Views.Add(“TestView”, fields, string.Empty, 100, true, false);
view.Scope = SPViewScope.Recursive;
这是一个完整的示例:
http://sharepointnadeem.blogspot.in/2012/02/create-view-to-show-show-all-items-without.html
尽管我意识到这种回应非常延迟,但它可能会对下一个人有所帮助。我了解此问题如下:已将过滤器应用于文件夹的属性,而在视图中正确的文件夹过滤器时,当访问特定文件夹时,文件夹中的内容不显示。
这很容易。修改视图,扩展文件夹分组,并在以下显示此视图下:选择“在顶级文件夹中”。这仅将过滤器应用于顶级文件夹。选择一个文件夹以访问其内容时,未应用过滤器,从而显示内部内容。
聚会也迟到了,但我认为最简单的答案是调整名为“文件夹”的视图设置,以“显示所有没有文件夹的项目”。默认情况下,文件夹中的项目不会显示 文件夹 在这种情况下,不符合滤波器条件,在这种情况下它不符合过滤条件。这是非直觉Microsoftware的标准示例。