基于列隐藏/禁用编辑按钮's在Sharepoint 2010中的价值
Hide/Disable Edit button based on column's Values in Sharepoint 2010
我有一个列,它有两个类别,Done和Pending。一旦用户选择了一个项目,并且该项目的"状态"列为"挂起",我希望隐藏/禁用编辑按钮。
我想知道如何做到这一点,无论是在visual studio 2010还是ECMA脚本中。
我知道这个问题很老了,但如果有人还需要答案:在visual studio中创建自定义动作,如下所示:https://msdn.microsoft.com/en-us/library/office/ff408060(v=office.14).aspx
这隐藏了你想要的按钮,现在你可以通过enabledscript参数设置一个条件来选择按钮应该隐藏的情况:
只需在</CommandUIDefinitions>
之后添加此代码
<CommandUIHandlers>
<CommandUIHandler
Command="HideEditRibbon"
CommandAction="javascript:return true;" EnabledScript="javascript:checkIfNeedsToBeHidden();" />
</CommandUIHandlers>
<CustomAction Id="yourJsReference" Location="ScriptLink" ScriptSrc="yourJsFile.js"></CustomAction>
如果你在List Ribbon、Edit和DisplayForm中需要这个,你需要进行3个自定义操作,并更改Location Part,也许还有你的js代码。
如果您想使用开箱即用的编辑表单,那么您不会使用服务器端代码;你需要一个完全自定义的编辑表单才能做到这一点。
这意味着在编辑页面上使用Javascript,这是脆弱的,并且不会阻止用户在知道自己在做什么的情况下保存数据。
每个列的输入字段都将具有一个带列名的"title"属性。JQuery可以很容易地找到title="列名"的元素,因此您可以知道是否需要隐藏保存按钮。保存按钮不太容易找到。你可以尝试用type=button和value=save来获取输入。
如果有实际的安全性很重要,这样无论发生什么情况,都无法在这种状态下编辑项目,那么您可以在ItemUpdating事件上使用事件接收器。只需检查项目的属性并使用这些属性。Cancel=true;(或类似的东西),这样即使他们禁用了你的JavaScript并保存了事件,它也不会被保存。如果您需要帮助添加事件接收器或使其正常工作,只需询问即可。
编辑:在你的评论中,你说你只是想在某些条件下完全阻止访问编辑表单。为此,我会制作一个新的Web部件/用户控件,并将其添加到编辑页面。在该部分中,您可以获取适当的项(项的ID将是一个查询参数),并查看页面是否应该是"可查看的"。如果没有,则可以重定向到另一个页面。
对上述内容的另一个补充是尝试编辑列表视图,使得某些项目没有编辑链接。这将非常困难,我甚至怀疑(实际上)使用开箱即用的Web部件是否可能。您需要有一个完全自定义的列表视图页面,才能控制哪些项目具有指向编辑页面的链接。(其他人可以在这里纠正我。)
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- 让Javascript在SharePoint 2010上运行时遇到问题
- 分析sharepoint 2010 Web部件中的json
- 如何在 SharePoint 2010 网站上编写用于预览窗格的 JavaScript/jQuery
- Javascript 中的 SharePoint 2010 拍卖页面行为异常
- SharePoint 2010 SP.FileCreationInformation() in javascript c
- 如何通过OnClick使用SharePoint用户名更新SharePoint 2010列
- Sharepoint 2010中的jQuery和JavaScript错误
- SharePoint 2010 Rest API错误(未检索数据)
- 在 SharePoint 2010 上创建“添加新项目”按钮
- Sharepoint 2010 JSOM getEnumerator '集合尚未初始化.尚未提出要求..'
- SharePoint 2010 和电子邮件列表视图
- 从 SharePoint 2010 Webpart 中的 JavaScript 调用 C# 方法
- 如何将简单的 jquery 滑块添加到 SharePoint 2010 Web 部件
- 如何在 SharePoint 2010 中自动在页面中添加讨论板
- 根据 jQuery (SharePoint 2010) 中的复选框的值显示节
- SharePoint 2010 更改需要字段
- SharePoint 2010 - Javascript 根据标题更新列表项值
- Sharepoint 2010-停止不安全的代码删除