根据CRM 2011中另一个字段的值禁用Tab

时间:2013-05-01 14:07:25

标签: javascript dynamics-crm-2011

我正在尝试根据另一个字段(两个选项集)的值禁用Tab。基本上我的目标是如果process complete = False,则必须禁用Tab Sales Process。如果process complete = True,则必须启用Tab Sales Process。 Process complete是一个两个选项集字段,Sales进程是一个选项卡。我正在使用以下代码禁用选项卡中的所有控件。但我无法使其适用于另一个字段(两个选项集)的条件

function DisableAllControlsInTab(tabControlNo)
{
    var factfindcontrol=Xrm.Page.getAttribute("processcomplete").getValue();   
      var tabControl = Xrm.Page.ui.tabs.get("sales process");
   if (factfindcontrol ==false);
    if (tabControl != null) {
      Xrm.Page.ui.controls.forEach(
        function (control, index) {
        if (control.getParent().getParent() == tabControl && control.getControlType() != "subgrid")  {
            control.setDisabled(true);
        }
else {
control.setDisabled(false);
}

    });
    }
}

1 个答案:

答案 0 :(得分:1)

我终于解决了

function DisableAllControlsInTab(tabControlNo)
{
    var factfindcontrol=Xrm.Page.getAttribute("processcomplete").getValue();   
      var tabControl = Xrm.Page.ui.tabs.get("salesprocess");
   if ((factfindcontrol ==0) &&
    (tabControl != null)) {
      Xrm.Page.ui.controls.forEach(
        function (control, index) {
        if (control.getParent().getParent() == tabControl && control.getControlType() != "subgrid")  {
            control.setDisabled(true);
        }
    });
    }
else {
Xrm.Page.ui.controls.forEach(
        function (control, index) {
        if (control.getParent().getParent() == tabControl && control.getControlType() != "subgrid")  {
            control.setDisabled(false);
}
});
}


}