如何使用代码动态更改SharePoint文档库视图

时间:2010-03-04 03:55:37

标签: sharepoint sharepoint-2007

例如,我有一个文档库,用于保存多个项目的合同。

所以:

  

DocLib   Contract_For_Project_A.pdf(metada:代码:PRJA)   Contract_For_Project_B.pdf(metada:code:PRJB)   等

在需求条款中,可能类似于“我想将项目特定文档存储在属于某个部门或部门的任何文档库中的合同等等。我不应仅限于将项目特定文档存储在项目站点中,因为它将它们与相关的部门/部门等联系起来可能更有意义。“

并且用户要求“作为用户,我希望能够仅根据我到达门户网站时选择的项目代码元数据查看项目特定文档以及向我显示的所有文档应该按所选项目代码元数据(在包含项目特定文档的任何文档库中)进行过滤

问题是我们如何在SharePoint中执行此操作?

我正在考虑将所选项目元数据存储在来自webpart的Session变量中,然后在我到达文档库后选择它,或者在那里添加另一个Web部件,它将从会话中获取项目元数据将页面重定向到已设置的右视图,以根据项目元数据过滤文档...

  

DocLib   查看   ViewForProjectA   ViewForProjectB   等

这是一种好方法还是有更好的方法?

在这种情况下,它基本上会首先加载默认视图w / redirector webpart,因此会有一个可能不需要的重定向。有没有办法以简单的方式执行此操作而无需进行客户端重定向?

1 个答案:

答案 0 :(得分:1)

我建议采用以下方法,我认为这种方法很简单,不需要编码。

  1. 创建从Document继承的自定义内容类型项目,您可以为项目代码添加一列。
  2. 将此内容类型添加到您想要的任何网站的所有文档库中。
  3. 创建内容查询Webpart&连接此内容类型并添加过滤器以根据项目代码过滤记录。
  4. 如果您希望根据登录用户信息显示详细信息,则可以始终使用受众群体定位或扩展内容查询WebPart来根据用户登录进行自定义。
  5. Refer This有关内容查询WebPart的更多信息。