如何隐藏,禁用Sharepoint中的日历列表项字段

时间:2009-07-01 11:39:12

标签: sharepoint list permissions calendar hide

我想隐藏或只在editform.aspx上创建一些字段。我在这个page上的例子,但没有删除“原始”webpart列表。我隐藏了原始的webpart并从原始列表中创建了一个新的自定义列表。然后我能够在自定义列表上应用xsl来隐藏或使字段“只读”。不幸的是,重复发生的事件停止了工作或完全搞砸了。有时我在日历视图中点击特定事件时收到错误消息。日历列表工作正常,并且当事件不再发生时,在“编辑模式”中隐藏或禁用字段。我的问题是。是否有其他方法可以隐藏或禁用日历列表中特定安全组或共享点组的项目?

6 个答案:

答案 0 :(得分:1)

如果SharePoint Designer是一个选项,则此blog post from Laura Rogers显示如何按权限级别显示SharePoint字段。它应该与日历列表一起使用。

这将使您无需第三方产品即可完全控制解决方案。

答案 1 :(得分:0)

我认为这样做有点困难。否则应该没有像SharePoint Column View Permission这样的第三方工具,Bamboo也有这样的工具。

如果您希望通过代码stackoverflow.com/questions/1058232实现此目标,请查看此内容。但我不确定它在压光机中是否有效。

答案 2 :(得分:0)

我遇到过两种工具来做你正在寻找的东西:

  • SPListDisplaySetting - “SharePoint功能(适用于WSS 3.0和MOSS),提供高级设置,以便在新的,显示和编辑模式下自定义列表表单。”

您可以指定某些字段仅显示在编辑页面,新页面或显示页面上,仅适用于某些组,或者完全隐藏它们。

我唯一的问题是安装程序不能正常工作。但是,用户有posted working instructions on the discussion board

答案 3 :(得分:0)

我在Cleverworkarounds找到了一个非常好的解决方案。代码是用JavaScript编写的,所以脚本实际上并没有删除字段,在我的情况下是必要的,但它确实隐藏了字段。我,我需要坚持使用SharePoint列表表单扩展,因为我们的客户拥有一些敏感数据,并希望为某些用户删除这些数据。劳拉罗杰斯的解决方案也很好,但是使用Cleverworkarounds你不需要使用Sharepoint Designer。

答案 4 :(得分:0)

一种选择是从CodePlex下载Sharepoint Manager。将它安装在服务器上(它使用对象模型),您可以轻松访问一大堆东西,包括每个列表的每个字段,是否整个隐藏特定列(甚至从列表中隐藏)设置),或隐藏在显示表单,编辑表单或两者之间。这是设置真/假下拉列表并单击保存的问题。还可以选择只读列。

虽然在权限方面是全部或全部 - 无论您选择什么,都适用于可以访问该区域的每个人。

答案 5 :(得分:0)

您可以使用JQuery隐藏日历列表中的项目。请按照以下步骤操作: - 从日历选项卡自定义列表类别选择 - >表单Web部件 - >默认新表格 - 选择“插入”选项卡,然后从“Web部件”类别中选择 - >单击Web部件。 - 选择媒体和内容,然后选择内容编辑器并单击添加。 - 将内容编辑器放在表单下方,然后在内容编辑器中单击 - 点击格式文本标签 - >标记类别 - >点击HTML - >编辑HTML源 添加以下代码:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$(function() {
$("td.ms-dttimeinput").hide();  
$("span[title='All Day Event'] > input").attr("checked","checked");
$("tr:has(span[title='Recurrence'])").not("tr:has(tr)").hide(); 
$("tr:has(span[title='All Day Event'])").not("tr:has(tr)").hide();
$("tr:has(span[title='Workspace'])").not("tr:has(tr)").hide();
});
</script>

上述代码还将“全天事件”设置为true。 希望这会有用..