MSCRM 2011基于statcode字段值的隐藏选项卡

MSCRM 2011 Hiding Tab based on value of statcode field

本文关键字:隐藏 选项 字段 2011 基于 statcode MSCRM      更新时间:2023-09-26

我想根据报价实体的statecode字段的值在报价实体中隐藏一个选项卡。

Senario:如果值等于"3",则选项卡应可见,否则选项卡应不可见。你可以在下面找到我的代码,但它不起作用。

请帮忙,谢谢。

   function hideTab(){
var field = Xrm.Page.data.entity.attributes.get("statecode");    
if (field == null || field.getValue() == null)
    return;
var value = field.getValue();
if(value != "3")
    return;
Xrm.Page.ui.tabs.get(tab_9).setVisible(false);
}

为了使用JavaScript读取字段值,字段必须在crmForm的body中(即不在页眉或页脚区域中)。

此外,我会像这个一样重构你的代码

function hideTab (){
    var field;
    var fieldValue;
    var isHidden = false;
    field = Xrm.Page.data.entity.attributes.get("statecode");    
    if (field != null && field.getValue() != null){
        fieldValue = field.getValue();
        alert(fieldValue);
        if(value != "3")
            isHidden = true;
    }
    alert(isHidden);
    Xrm.Page.ui.tabs.get('tab_9').setVisible(isHidden);
}

注意,我添加了几个alerts,这样你就可以检查

  1. 函数正在运行
  2. 找到字段
  3. 字段值正确

您可以使用以下任意一项隐藏选项卡:

window.parent.Xrm.Page.ui.tabs.get(tabindex).setVisible(false);
or
window.parent.Xrm.Page.ui.tabs.get("tabname").setVisible(false);

如果这不起作用,则首先检查CCD_ 3给出了什么或更好地记录CCD_。

请参阅此处的简短示例:https://mahenderpal.wordpress.com/tag/ms-crm-2011/

如果你确定satecode是在形式上,那么使用它来获得satecode:

window.parent.Xrm.Page.data.entity.attributes.get("statecode");