Javascript 基于statcode字段值的MSCRM 2011隐藏选项卡
我想根据Quote实体的statecode字段的值隐藏Quote实体中的选项卡 塞纳里奥: 如果值等于3,则选项卡应可见,否则选项卡应不可见。 你可以在下面找到我的代码,但它不起作用 请帮忙,谢谢Javascript 基于statcode字段值的MSCRM 2011隐藏选项卡,javascript,dynamics-crm,show-hide,state,Javascript,Dynamics Crm,Show Hide,State,我想根据Quote实体的statecode字段的值隐藏Quote实体中的选项卡 塞纳里奥: 如果值等于3,则选项卡应可见,否则选项卡应不可见。 你可以在下面找到我的代码,但它不起作用 请帮忙,谢谢 function hideTab(){ var field = Xrm.Page.data.entity.attributes.get("statecode"); if (field == null || field.getValue() == null) return; var
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);
}
您可以使用以下任一选项隐藏选项卡:
window.parent.Xrm.Page.ui.tabs.get(tabindex).setVisible(false);
or
window.parent.Xrm.Page.ui.tabs.get("tabname").setVisible(false);
如果这不起作用,则首先检查window.parent.Xrm.Page.getAttribute提供的日志字段或更好的日志字段
请参见此处的简要示例:
如果您确定satecode的格式正确,则使用此选项获取satecode:
为了使用JavaScript读取字段值,字段必须位于crmForm的主体中,即不在页眉或页脚区域 此外,我会像这样重构您的代码
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);
}
请注意,我添加了几个警报,以便您可以进行检查
该函数正在运行
该字段已找到
字段值是正确的
获取'tab_9'。setVisiblefalse;请注意引号。这对你有用吗?我试过了,但jasonscript不起作用。警报显示为False,它会隐藏每种情况下的选项卡。我认为获取statecode的值有问题,我在另一个答案中发现了这一点:Xrm.Page.getAttributenew_fieldSchemaName.getValue;现在它表示无法获取未定义或空引用的属性“getValue”。@Eldanar为了使用getValue方法,必须将字段添加到表单中。您确定表单上有statecode吗?否则,您需要执行webservice调用以获取值statecode字段必须在正文中,而不仅仅是在页眉或页脚中。当我使用Xrm.Page.getAttributethanks时,它表示无法获取未定义或空引用的属性“getValue”,但我隐藏该选项卡没有任何问题,问题是读取statecode字段并根据其值隐藏选项卡。@Eldanar请尝试以下操作:window.parent.Xrm.Page.data.entity.attributes.getstatecode;我想我必须做一个Web服务来获取statecode的数据。
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);
}