【发布时间】:2011-12-07 08:36:22
【问题描述】:
我想知道是否有一种方法可以根据特定列的内容隐藏列表或库行项目。
这是一个用例场景:
我有一个任何类型的列表或库,我有一个名为 Permissions 的列,在该列中我可以将两种组名类型中的一种指定为字符串,例如“所有者”或“访问者” .后记,我有条件遍历列表或库中的每个单独的行项,并将该行项的可见性基于 Permissions 列的字符串内容。
行可见性逻辑伪:
If( current_row.Permissions_Col.Content == LoggedInUser.Group_Name)
Show this row
Else
Hide this row
是否可以通过 Sharepoint Web 界面或在 Sharepoint Designer 或 Visual Studio 中以编程方式完成此操作?洞察力值得赞赏。
更新:
感谢大家的反馈,只是为了澄清这样做的动机是我们的文档结构和安全/权限层非常动态,因此我们无法在 SharePoint 中创建静态层次结构。相反,我们希望拥有一个单一的资源库池,根据当前登录用户的组成员身份动态过滤这些资源库。我们希望将 Permissions 列内容视为元数据,以描述谁可以查看该行的数据。
我很抱歉,但我忽略提及的另一个要求是,当登录的用户尝试在 SharePoint 中上传文件或创建新元素(即列表、库、文件夹、表单等)时,会设置权限自动为用户组和“所有者”。这种情况的唯一例外是“所有者”。所以伪是这样的:
文件上传/项目创建逻辑:
If( (creatingElement OR uploadingFile) AND LoggedInUser.Group_Name != "Owners")
{
SET Permissions_Col.Content to LoggedInUser.Group_Name;
SET read permissions for LoggedInUser.Group_Name and full control for "Owners";
}
【问题讨论】:
-
您没有使用项目级权限是否有原因?
-
@Stefan 项目级别权限无法实现这一点。项目级别权限仅过滤非作者是否可以查看/编辑作者的列表项目。
标签: sharepoint sharepoint-2010 sharepoint-2007 sharepoint-designer sharepoint-api