CRM 2011:刷新相关网格视图(Crm 2011 : Refresh associated Gr

2019-09-04 02:07发布

有没有一种方法来刷新关联的网格视图? 我打开一个新的销售订单形式,这种形式我做我的订单销售订单查看帐户表格上,这种形式对我有一个按钮(新订单),现在的问题是:当我保存在我的订单我要刷新我的订单相关的示意图(在开户表格),但我不知道怎么去控制名称或如何访问它。 我试了很多办法像

  Xrm.Page.ui.controls.get("Orders").refresh();
  document.getElementById("areaOrders").contentWindow.location.reload(true);

谢谢。

Answer 1:

要刷新一个子网格,您可以使用

Xrm.Page.getControl('new_subgrid').refresh();

然而,在我的经验,这是非常错误(因为RU12无论如何),所以请谨慎使用。 你还需要检查您检索,并确保它是网格或错误,就会抛出该控件的类型。

但是你问一个稍微不同的问题:

当我保存在我的订单我想刷新我的订单相关的示意图(在开户表格)

我的理解是指你从一个帐户形式中打开一个订单的形式,并希望刷新帐户窗体上的子网格。

最简单的答案是否定的,你不能在一个支持的方式做到这一点。

这是可能的,但它不会漂亮。 你需要得到一个参考打开的窗口中,这可能是可用

window.opener

我还没有试过,我不盈一台机器的尝试。 不过,我会建议反对,另一种方法是一个单一的点击手动刷新亚格; 它不是一个坏的选择。



Answer 2:

这是一个JavaScript函数我写信给力加载次网格如果表单包含超过4个子网格。 我相信,最近的汇总取得了代码的目的已经过时,但它可能会有助于你找到你的子网格:

/*
By default, CRM only loads the first 4 subgrids on a form.  This will load
up all subgrids on the form, or only the number (over the default 4) if specified
*/
forceSubgridLoad: function (countOver4) {
    $(document).ready(function () {

        var links = $("a.ms-crm-List-LoadOnDemand");
        for (i = 0; i < links.length && (countOver4 == null || i < countOver4); i++) {
            links[i].click();
        }
    });
},


Answer 3:

我曾经在博客在Microsoft Dynamics CRM自动刷新一个分格 。
该解决方案是不支持的定制,基本上归结为:

document.getElementById("crmGrid").control.refresh();

更换“crmGrid”与分格的格的ID被刷新。

据我所知,是做一个刷新没有支持的方法。



文章来源: Crm 2011 : Refresh associated Grid View