CRM 2013/2015/2016子网格弹出,保留fetchxml查询

CRM 2013/2015/2016 subgrid popout, retain fetchxml query

我的表单上有一个子网格,我使用 javascript 分配动态生成的 fetchxml 查询。当用户单击子网格的 "pop out" 按钮时,查询将丢失并显示该实体的默认视图。

用户需要能够进行多选和批量编辑。据我所知,这对于 CRM 2013 向上的子网格是不可能的。有没有办法在弹出查询时保留查询?

不支持与弹出的网格交互的方式。如果您开始深入研究客户端应用程序代码,您可能会找到新的 window 的挂钩,但这样做不受支持,容易出错,我不推荐这样做。

我建议在重新阅读您的用户需要使用弹出的网格进行批量编辑之前,将弹出按钮完全隐藏在实体的子网格中。

在这种情况下,您最好的选择是放弃 JS 并移动到针对子实体的 RetrieveMultiple 插件。通常应避免使用 RetrieveMultiple 插件,但从您的情况来看,这是您唯一的选择。

而且,为了彻底,您确定您需要对子网格进行动态提取吗?有没有什么方法可以提出一个足够接近您的要求的视图,即使它并不完美?

更新: 根据您在评论中提供的附加信息,我只能想到两个选项:

  1. 实施自定义网格——或修改其中一个免费网格——允许多select和批量编辑
  2. 您的自定义 Web 应用采用用户的条件,为用户创建个人视图(实体:userquery)并将其保存到数据库,然后您在表单上的 JS 将网格设置为该视图.

    你可以这样做:

    document.getElementById("someGridId").control.SetParameter("viewtype", "4230"); // 4230 is the objecttypecode for userquery
    document.getElementById("someGridId").control.SetParameter("viewid", "{11310965-0306-E611-80E5-3863BB36DD08}");
    

    这样做实际上确实使弹出的网格加载个人视图,但在我刚才的测试中,如果您尝试刷新网格,网格会变得混乱。

    这种方法有明显的缺点:1) 您必须想出一种方法来清理生成的个人视图 2) 网格可能会在刷新时中断 3) 它不受支持并且可能会在更新时中断。

    我想还是值得考虑的。

一种更受支持的方法,而不是使用不受支持的 getElementById,是挂钩插件以多次检索实体并修改其中的查询

克里斯