1

我有一个基于策略实体的策略表单,我想在某个部分的该策略中显示或隐藏快速视图。我将快速视图的名称命名为“secCommercialClient”和“secPersonalClient”,但是我似乎无法隐藏/显示这些快速视图。我可以简单地使用以下代码为与快速视图相关的字段执行此操作:

var personalClient = Xrm.Page.getControl("new_personalpolicyholderid");
var commercialClient = Xrm.Page.getControl("new_commercialpolicyholderid");
if(personalClient.getAttribute().getValue() == null)
{
  personalClient.setVisible(true/false);
}

else if(commercialClient.getAttribute().getValue == null)
{
  commercialClient.setVisisble(true/false); 
}

我似乎无法让 QuickView 控件显示或隐藏我收到一条错误消息“无法获取未定义或空引用的属性 'getAttribute' ”。我仔细检查了表单的解决方案,确实名称值是 secCommercialClient 和 secPersonalClient,我成功隐藏了字段,但没有隐藏实际的快速视图。

有什么想法吗?我是 IE 的调试器工具,用于在我的 CRM 解决方案的 Policy 表单上测试我的脚本。

我已经包含了快速视图的名称属性的图像,是我使用了不正确的名称还是我的代码有问题?在此处输入图像描述

4

1 回答 1

1

您从控件传入的字符串必须是您要从快速视图中返回的字段的完整 ID。

例如,从用户实体的“开箱即用”快速视图设置帐户表单的快速视图(将表单插入为“MyQuickView”)将允许我从帐户实体上的 JavaScript 提醒电话字段,如下所示:

alert(Xrm.Page.getControl(" MyQ​​uickView_MyQuickView_systemuser_mobilephone ").getAttribute().getValue());

对于您的示例,您需要引用要从实体返回的控件的整个 Id。

我还不允许在堆栈交换上发布图像,所以我已将它们上传到我的投递箱供您查看。

  1. 在帐户记录上设置快速表格
  2. 查找字段的完整 ID
  3. 使用 Id 提醒值的代码示例

https://www.dropbox.com/sh/4agr73jvhe1uxuo/AABU8ce9idnJa0bUaITnXeKAa?dl=0

编辑:阅读您的评论后,您可以通过为其创建一个部分来隐藏快速视图,然后隐藏该部分

Xrm.Page.ui.tabs.get("SAMPLE_TAB").sections.get("SAMPLE_SECTION").setVisible(false);
于 2015-02-14T14:20:05.817 回答