在 MS CRM 2013 中将字段设置为只读

Making a field read-only in MS CRM 2013

我想在 MS CRM 2013 中使用 javascript 将页面设置为只读。我找到了这样的解决方案:

var ToBeReadOnlyControl = Xrm.Page.ui.controls.get("ownerid");
ToBeReadOnlyControl.setDisabled(true);

我的想法是浏览所有字段并禁用它们,但我只想将一个字段设置为只读而不是使用 "padlock" 禁用它。

你知道我如何在 javascript 中做到这一点吗?

如果您需要禁用所有 字段,则记录显然需要是只读的。实现此目的的首选方法是使用 Dynamics CRM 的内置安全选项,应用安全角色 and/or 记录份额。

如果您无法通过这种方式实现您的目标,您可能需要使用客户端脚本来禁用表单上所有已启用的字段。我强烈建议在这里坚持标准并为此目的使用 API 方法,接受这就是产品的工作原理。

挂锁只能通过直接操作 HTML DOM 来移除,这是不受支持的,并且可能会在 Microsoft 发布的每个产品更新中损坏。请记住,Microsoft 在 GUI 方面仍有一些工作要做,因此这种担忧并不牵强。