我是jscript的新手,并且在子网格中获取所有元素时遇到问题。 我尝试了这些网站的代码,
Retrieve rows in crm2011 subgrid with JScript
https://lakshmanindian.wordpress.com/2012/05/25/retrieve-subgrid-rows-in-crm-2011-using-jscript/
但每次都会收到错误消息:
(翻译)
字段的用户定义事件出错
字段:窗口
事件:onload
错误:无法调用未定义或空引用的首选项“控件”。
我试过的最后一个代码:
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);
我在实体帐户(公司)中使用子网格“accountContactsGrid”进行了尝试。
我的主要目标是捕获帐户表单中的所有已分配元素,并将其列在联系人表单下。但只有激活了复选框“Eko”。
到目前为止,这是我的工作代码:
var chkEko = Xrm.Page.getAttribute("testcrm_ekonomi").getValue();
if (chkEko === true)
{
alert("Eko active: " + chkEko);
}
else
{
alert("Eko not active: " + chkEko);
}
答案 0 :(得分:0)
经过一段时间和一些线程的帮助,我能够获得这个网格的信息。但现在我有问题要抓住这些元素。 我查找变量“grid”,发现变量是一个Object。 因为我真的不知道对象的属性,所以我试图把它全部搞定。 但似乎我的代码不起作用,我无法理解为什么。 这是迄今为止的代码:
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。 或者是否有其他方法可以获取对象的所有值?
答案 1 :(得分:0)
好像我走错了路。这就是我尝试做的事情:
在帐户/公司表单中是一个名为“联系人”的现有网格。在此字段中分配了一些联系人(使用按钮&#34;添加现有联系人&#34;)。
现在当我打开一些联系人时,应该有一个box / grid / iframe,其中列出了所有公司的联系人。
此列表应链接到公司(当我点击它们时,CRM应该打开表单)。
也许有人可以给我一个提示? 我的计划是首先寻找所有公司,然后将分配的联系人与打开的联系人与一些Jscript进行比较。然后,脚本应列出联系表单中所有匹配的联系人。
这种方式并不是真正有效,因为脚本需要先读取所有公司。但我不知道另一种方式......