我在文档列表中添加了一个名为Project(String)的自定义列。然后,我在不同页面中设置不同的视图以在该列上过滤。

问题是,在应用过滤器时,即使项目列的值对应于过滤器中的一个集合,也不会显示存储在文件夹中的文档。

您知道如何解决这个问题吗?

有帮助吗?

解决方案

根据您的最后评论

我创建一个WebPart以在特定页面上显示文档列表,然后在列内容上应用了一个过滤器以仅显示某些文档。但是,以这种方式,文件夹结构丢失了,所有文档均显示平坦。

我想我现在可以回答您的问题。

如果创建新视图并在“过滤器”部分中选择

内容类型等于文件夹

或者

然后添加您希望应用于文档的其他条件。

以这种方式,将始终显示文件夹,但其内容将根据附加约束过滤。

这将导致显示文件夹是否包含与其他约束相匹配的任何孩子,但您将能够导航层次结构。

其他提示

如果您在代码中创建了视图,则需要指定范围=“递归” viewAttribute

这里给出了一些示例

http://sharepointmagazine.net/technical/development/writing-caml-ceries-for-retrieving-list-items-from-a-a-aarepoint-list

如果您使用SharePoint UI创建视图,则需要

  1. 修改视图。
  2. 在“编辑视图”页面中展开“文件夹”部分
  3. 选择“显示所有没有文件夹的项目”

这将执行递归查询。

指定 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的标准示例。

许可以下: CC-BY-SA归因
scroll top