有没有办法确定该部分是否为CRM表格中的标题?
我们使用的是Microsoft Dynamics CRM 2016,我要求在满足特定条件时禁用“联系人”表单上的所有字段。我正在使用下面的代码,到目前为止该代码正在运行。
var attributes = Xrm.Page.data.entity.attributes.get();
for (var i in attributes) {
var myattribute = Xrm.Page.data.entity.attributes.get(attributes[i].getName());
var myname = myattribute.getName();
if (Xrm.Page.getControl(myname) != null) {
//alert(myname);
Xrm.Page.getControl(myname).setDisabled(true);
}
}
不过我问的原因(对于标头字段而言特别如此),您需要在字段名称前放置header_
才能获得标头字段。例如header_name
。由于我们的CRM管理器喜欢在标题上放置不同的字段,因此最好自动禁用标题字段,而不是手动更改标题字段。
有没有办法确定该部分是否为CRM表格中的标题?
答案 0 :(得分:3)
基本上,表单中的每个字段都必须位于section
之外的header
中。因此,在这种情况下这很有用,因为我们必须标识header
中的字段并将其禁用。
我已经使用forEach
迭代器来检查每个控件,并且如果该控件没有作为section
的父级-那么它是header
中的一个控件,因此请禁用该控件。
Xrm.Page.ui.controls.forEach(function (control) {
if(!control.getParent()){
control.setDisabled(true);
}
});
参考:getParent