SharePoint:筛选包含文件夹的列表
我有一个SharePoint文档库,它有一个文件夹结构,用于组织文档(也用于通过对文件夹的权限控制访问) 图书馆中的文档每月更新一次,我们将每月的文档版本存储在同一文件夹中;有一个用于筛选的“月”列,其中包含诸如Jan 09、Feb 09等值。它看起来如下所示: Title Month ----- ----- SubFolder 1 SubFolder 2 [] Interesting Facts Jan 09 [] Interesting Facts Feb 09 [] Interesting Facts Mar 09 [] Fascinating Numbers Jan 09 [] Fascinating Numbers Feb 09 ... 产权月 ----- ----- 子文件夹1 子文件夹2 []有趣的事实2009年1月 []有趣的事实2009年2月 []有趣的事实2009年3月 []令人着迷的数字2009年1月 []令人着迷的数字2009年2月 ... 现在,由于用户通常对“当前”月份最感兴趣,我希望他们能够应用过滤器,并选择(比如)2009年3月。但是,如果他们使用内置的筛选功能执行此操作,它也会筛选出文件夹,并且他们无法再浏览文件夹层次结构。这是不好的-我希望他们能够在过滤器完好无损的情况下在文件夹之间移动,这样他们就不需要不断地关闭和打开它 我想我可能能够使用自定义视图(选择type=folder或month=[month]),并且在一定程度上可以使用。然而,我只能让它在一个固定的月份工作,而我需要用户能够选择月份-可能通过页面上的下拉控件(我不想为5年的月份创建60个视图,也不想每个月创建一个新视图) 我认为在代码中创建视图(而不是通过UI)是可能的,但我还没有弄清楚如何在CAML查询中获得动态值(用户特定的设置) 感谢您的指点!顺便说一句,我知道文件夹是坏的,所有东西都应该是一个列表。然而,在考虑了其他选择之后,我仍然倾向于使用文件夹——如果我能解决这个问题的话SharePoint:筛选包含文件夹的列表,sharepoint,list,filter,view,directory,Sharepoint,List,Filter,View,Directory,我有一个SharePoint文档库,它有一个文件夹结构,用于组织文档(也用于通过对文件夹的权限控制访问) 图书馆中的文档每月更新一次,我们将每月的文档版本存储在同一文件夹中;有一个用于筛选的“月”列,其中包含诸如Jan 09、Feb 09等值。它看起来如下所示: Title Month ----- ----- SubFolder 1 SubFolder 2 [] Interesting Facts
提前感谢。您可能想尝试使用一个。
管理文件夹的显示以及单击时的文件夹项目将是一个问题。这就是我不使用文件夹的原因之一。我目前遇到了完全相同的问题,我需要根据文件夹名称进行筛选,然后在页面上显示这些文件夹,而不是简单的日期。单击文件夹后,他们将能够查看该文件夹的内容 我还没有找到一个很好的解决方案,但是对于您的,您应该能够简单地使用contentQueryWebpart创建一个自定义CAML查询 大概是这样的: 但是,您可以在文件夹的日期/时间执行此操作,而不执行其他操作 您的查询类似于:
<![CDATA[
<Where>
<Gt>
<FieldRef Name="Created" Nullable="True" Type="DateTime"/>
<Value Type="DateTime"><Today /></Value>
</Gt>
</Where>
<OrderBy>
<FieldRef Name="Created" Nullable="True" Type="DateTime"Ascending="FALSE"/>
</OrderBy>]]>
]]>
我还要添加您要查找的文件夹的名称,以确保不会返回任何其他内容
希望这有帮助。如果您找到其他解决方案,请发回。我想我找到了您的解决方案-DataWebPart实际上帮助了我 使用它也让人大开眼界: 总而言之,您只需使用“月-年”组合填充下拉列表,通过designer视图在页面上添加共享文档库,使用ASP.NET下拉列表的“过滤器”连接,并在每个月设置一个过滤器。 您还可以使用XSL将其默认为某个日期,现在都在代码视图中:)@Gary 数据视图的控件过滤器(我的第二个答案)实际上保留了文件夹层次结构 如果需要,您可以将其放入子文件夹中,但在您的情况下,您只对显示一个特定文件夹感兴趣,对吗 您正在使用的是SP designer,我找不到通过常规Web部件实现的方法
或
html编码:
<;其中>&书信电报;Eq>&书信电报;FieldRef Name='Month'/>&书信电报;值类型='Number'>&书信电报;月份/></价值></Eq></其中>;
关键在于,您只在根级别的数据视图上创建一个过滤器。一旦他们点击文件夹,他们就会被扔进文档库,可以查看文件夹中的所有内容
希望这有帮助
ps:在html编码中,我必须在“;”之前添加空格因此,您可以看到代码。我在过滤和SPGridView方面做了大量工作。也许你能从我的博客上了解到一些东西。
正如我所说,我不知道它是否能帮助您,但请看一看。您能创建一个从包含月份列的文件夹继承的内容类型吗?然后,用此列表中的新文件夹内容类型替换普通文件夹内容类型。适当地设置月份,n
<Where>
<Eq>
<FieldRef Name='Month'/>
<Value Type='Number'><Month/></Value>
</Eq>
</Where>