CRM 2013/2015/2016子网格弹出,保留fetchxml查询
CRM 2013/2015/2016 subgrid popout, retain fetchxml query
我的表单上有一个子网格,我使用 javascript 分配动态生成的 fetchxml 查询。当用户单击子网格的 "pop out" 按钮时,查询将丢失并显示该实体的默认视图。
用户需要能够进行多选和批量编辑。据我所知,这对于 CRM 2013 向上的子网格是不可能的。有没有办法在弹出查询时保留查询?
不支持与弹出的网格交互的方式。如果您开始深入研究客户端应用程序代码,您可能会找到新的 window 的挂钩,但这样做不受支持,容易出错,我不推荐这样做。
我建议在重新阅读您的用户需要使用弹出的网格进行批量编辑之前,将弹出按钮完全隐藏在实体的子网格中。
在这种情况下,您最好的选择是放弃 JS 并移动到针对子实体的 RetrieveMultiple 插件。通常应避免使用 RetrieveMultiple 插件,但从您的情况来看,这是您唯一的选择。
而且,为了彻底,您确定您需要对子网格进行动态提取吗?有没有什么方法可以提出一个足够接近您的要求的视图,即使它并不完美?
更新:
根据您在评论中提供的附加信息,我只能想到两个选项:
- 实施自定义网格——或修改其中一个免费网格——允许多select和批量编辑
您的自定义 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,是挂钩插件以多次检索实体并修改其中的查询
克里斯
我的表单上有一个子网格,我使用 javascript 分配动态生成的 fetchxml 查询。当用户单击子网格的 "pop out" 按钮时,查询将丢失并显示该实体的默认视图。
用户需要能够进行多选和批量编辑。据我所知,这对于 CRM 2013 向上的子网格是不可能的。有没有办法在弹出查询时保留查询?
不支持与弹出的网格交互的方式。如果您开始深入研究客户端应用程序代码,您可能会找到新的 window 的挂钩,但这样做不受支持,容易出错,我不推荐这样做。
我建议在重新阅读您的用户需要使用弹出的网格进行批量编辑之前,将弹出按钮完全隐藏在实体的子网格中。
在这种情况下,您最好的选择是放弃 JS 并移动到针对子实体的 RetrieveMultiple 插件。通常应避免使用 RetrieveMultiple 插件,但从您的情况来看,这是您唯一的选择。
而且,为了彻底,您确定您需要对子网格进行动态提取吗?有没有什么方法可以提出一个足够接近您的要求的视图,即使它并不完美?
更新: 根据您在评论中提供的附加信息,我只能想到两个选项:
- 实施自定义网格——或修改其中一个免费网格——允许多select和批量编辑
您的自定义 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,是挂钩插件以多次检索实体并修改其中的查询
克里斯