【问题标题】:MS Dynamics CRM 2011, Get subgrid elements from other formMS Dynamics CRM 2011,从其他表单获取子网格元素
【发布时间】:2023-08-12 05:05:01
【问题描述】:

我是 jscript 新手,在获取子网格中的所有元素时遇到问题。 我试过这个网站的代码,

Retrieve rows in crm2011 subgrid with JScript

https://lakshmanindian.wordpress.com/2012/05/25/retrieve-subgrid-rows-in-crm-2011-using-jscript/

但是每次都得到错误信息:

(翻译)


字段的用户定义事件出错

字段:窗口

事件:加载

错误:无法调用未定义或空引用的首选项“控件”。


我尝试的最后一个代码:

var grid = document.getElementById("accountContactsGrid").control;
for (var rowNo = 0; rowNo<grid.getRecordsFromInnerGrid().length; rowNo++)
  for (var cellNo = 0; cellNo<grid.getRecordsFromInnerGrid()[rowNo][3].cells.length; cellNo++)
     alert(grid.getRecordsFromInnerGrid()[rowNo][3].cells[cellNo].outerText);

我在实体 Account(Company) 中使用子网格“accountContactsGrid”进行了尝试。

我的主要目标是捕获帐户表单中的所有指定元素并将其列在联系人表单下。但前提是“Eko”复选框被激活。

这是我目前的工作代码:

var chkEko = Xrm.Page.getAttribute("testcrm_ekonomi").getValue();
if (chkEko === true)
{
    alert("Eko active: " + chkEko);
}
else
{
    alert("Eko not active: " + chkEko);
}

【问题讨论】:

  • 您在寻找以下内容吗? [如何在jQuery中写这个“window.parent.document.getElementById('parentPrice').innerHTML”?][1] [使用jQuery定位父窗口][2] [1]:*.com/questions/726816/… [2]:@ 987654324@
  • 不抱歉,我正在搜索 Xrm (CRM) 代码来捕获网格中的元素。我必须使用它,因为我需要从其他表单中获取数据。据我所知,从其他表单获取元素的唯一方法只有 Xrm.. 方式。
  • 您如何检索这些记录,使用 oData 或 Fetch 进行调用,并检索与您的父实体关联的所有相关实体?
  • 但这看起来像是一种解决方法,而不是内置的 CRM 解决方案。 CRM代码必须是可能的。我的意思是这是第一次有人想做这样的事情吗?

标签: dynamics-crm-2011 crm jscript subgrid


【解决方案1】:

经过一段时间和一些线程的帮助,我能够获得这个网格的信息。但现在我遇到了捕捉元素的问题。 我查找了变量“grid”,发现该变量是一个对象。 因为我真的不知道对象的属性,所以我试图全部了解。 但似乎我的代码不起作用,我不明白为什么。 到目前为止的代码如下:

function subgridItemCount() {

// Get the Subgrid Control
var grid = Xrm.Page.ui.controls.get('accountContactsGrid')._control;

var keys = Object.keys(grid);

var getKeys = function(obj){
    var keys = [];
    for(var key in obj){
        keys.push(key);
    }
    return keys;
}
    for(var i = 0; i<keys.length; i++) {
    document.write(keys[i]);    
    }
}

首先我想获取对象的属性,然后是 propertyValue。 还是有其他方法可以获取对象的所有值?

【讨论】:

    【解决方案2】:

    看来我走错路了。这是我尝试做的:

    在客户/公司表单中有一个称为联系人的现有网格。在此字段中分配了一些联系人(使用“添加现有联系人”按钮)。

    现在,当我打开一些联系人时,应该有一个框/网格/iframe,其中列出了该联系人所分配的所有公司。

    此列表应链接到公司(当我单击它们时,CRM 应打开表单)。

    也许有人可以给我小费? 我的计划是首先查找所有公司,然后使用一些 Jscript 将分配的联系人与打开的联系人进行比较。然后脚本应该在联系表单中列出所有匹配的联系人。

    这种方式并不真正高效,因为脚本需要首先读取所有公司。但是我不知道其他方法...

    【讨论】:

      最近更新 更多