删除快速查看表单中的空白

问题描述 投票:0回答:1

您好,我们在主窗体中添加了 ProviderStatus 作为快速窗体视图,但它显示了需要删除的空白。 我尝试了几种方法但不起作用:

function formLoad(executionContext) {
    var quickViewControl = formContext.ui.quickForms.get("Provider_Status");
    quickViewControl.setVisible(true);   // this works

    if (quickViewControl && quickViewControl.getControl(0)) {
        if (quickViewControl.isLoaded()) {
            var allElements = document.querySelectorAll('[data-id]');
            let mainContainer = document.querySelector('[data-id="Provider_Status"]');
            let quickFormContainer = mainContainer.querySelector('[data-id="Provider_Status-QuickFormContainer"]');
        }
    }
}

我们尝试添加

  1. 延迟,重新检查
  2. 每 500 毫秒重新执行一次函数,
  3. 使用 MutationObserver 来观察 DOM 变化
  4. quickViewControl.addOnLoad(function() {   - 该函数不执行

在 DOM 结构中验证所有已加载的快速查看表单元素,同时验证 data-id 名称

还是不行。

dynamics-crm crm dynamics-crm-2013 dynamics-crm-online dynamics-crm-365
1个回答
0
投票

正如 Guido Preite 的评论中提到的,不要尝试修改内置组件的 DOM。它很麻烦且不受支持,并且在系统的未来版本中可能很容易崩溃。

如果您需要完全控制组件的视觉呈现,您有以下选项:

  • 创建自定义页面。这是低代码方法。
  • 创建HTML Web 资源。在这里,您基本上创建了自己的 HTML 页面。您可以添加脚本、CSS、图像和其他您需要的 HTML 组件。与托管模型驱动形式的紧密集成可能具有挑战性,但也是可能的。
  • 创建一个PCF 控件。涉及学习曲线。当您需要可重复使用的组件时使用它。
© www.soinside.com 2019 - 2024. All rights reserved.