如何获取表单上的所有锁定字段

How to get all locked fields on form

我正在使用 Dynamics crm 2016,我在表单的不同阶段锁定和解锁我的字段,我需要保持某些字段始终保持锁定状态,因此我需要选择获取所有锁定的字段并避免解锁它们,我如何获得默认锁定的所有字段,我该怎么做?

有一种获取该信息的方法:

var isDisabled = Xrm.Page.getControl(arg).getDisabled()

因此您可以简单地遍历 Xrm.Page.ui.controls 以获取所有锁定的字段:

function getAllLockedFields(){
    var lockedFields = new Array();
    Xrm.Page.ui.controls.forEach(function(control, index){
         if(control.getDisabled()){
             lockedFields.push(control);
         }
    });

    return lockedFields;
}

对于 Dynamics 365 9.0,您应该使用 executionContext 中的 formContext 而不是弃用的 Xrm.Page