【问题标题】:CRM 2015, how do I show/hide a Quick View Control using JavaScript?CRM 2015,如何使用 JavaScript 显示/隐藏快速查看控件?
【发布时间】:2015-02-13 12:58:56
【问题描述】:

我有一个基于策略实体的策略表单,我想在某个部分中显示或隐藏该策略中的快速视图。我将快速视图的名称命名为“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 表单上测试我的脚本。

我已包含快速视图的名称属性的图像,是我使用了不正确的名称还是我的代码有问题?

【问题讨论】:

    标签: javascript crm xrm


    【解决方案1】:

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

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

    alert(Xrm.Page.getControl("MyQuickView_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);
    

    【讨论】:

    • 一切都很好,吉米,但是,我正在尝试将快速查看项目的可见性设置为 false,这意味着我想从表单中隐藏它,我设法为该字段做到了,但对于某些原因它不适用于快速查看项目
    • 在这种情况下,我会将快速视图放入单独的部分并隐藏该部分。示例:Xrm.Page.ui.tabs.get("EXAMPLE_TAB_NAME").sections.get("EXAMPLE_SECTION_NAME").setVisible(false)
    • 谢谢,所以我认为 CRM 不允许 setVisible 方法对 Quick View 控件进行操作?这很有趣,我还是 Dynamics 的新手,感谢您的帮助
    • 当我在 DOM 资源管理器中检查快速视图控件对象时,它似乎没有那个功能(你会认为它应该......)希望他们很快就会添加它。跨度>
    • @Papi 我最近找到了一个解决方法,当时我遇到了您面临的类似挑战。我创建了两个单独的快速查看表单,将它们放在两个单独的部分中,并使用我在 if 语句中的答案中发布的类似 JavaScript 来显示加载时的正确部分。 (我将这两个部分都设置为默认隐藏)。有道理?也许这会对你的努力有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-01-14
    • 2015-07-15
    • 2017-06-15
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    相关资源
    最近更新 更多