如何识别CRM表单中的标题部分



有没有办法判断该部分是否是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_放在字段名称之前,才能到达标头字段。例如CCD_ 2。由于我们的CRM经理喜欢在标题上放置不同的字段,因此最好自动禁用标题字段,而不是手动更改。

有没有一种方法可以判断该部分是否是CRM表单中的标题?

基本上,表单中的每个字段都必须位于除header之外的section中。因此,这在这种情况下是有帮助的,因为我们必须识别header&禁用它。

我使用了forEach迭代器来检查每个控件,如果该控件没有作为section的Parent,则它是header中的控件,因此禁用该控件。

Xrm.Page.ui.controls.forEach(function (control) {
if(!control.getParent()){
control.setDisabled(true);
}
});

参考:getParent

最新更新