【发布时间】:2015-01-28 00:42:22
【问题描述】:
我的代码需要一些帮助,因为在 CRM 2011 到 CRM 2013 中,将自定义 FetchXml 应用到子网格的实现似乎已经发生了变化。请注意,这不是 setParameter 与 SetParameter 大小写的问题,因为我一直在到处寻找互联网。我的问题是如何引用子网格并调用 SetParameter 方法。
这是我的代码:
function uc_addCaseFilterToCaseGrid() {
var contactGuid = Xrm.Page.data.entity.getId();
//create a filter xml
if (contactGuid != null)
{
var filter = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>";
filter += "<entity name='uc_crecord'>";
filter += "<attribute name='uc_casemanager' />";
filter += "<attribute name='uc_cindividual' />";
filter += "<attribute name='uc_rindividual'/>";
filter += "<filter type='or'>" +
"<filter type='or'>" +
"<condition attribute='uc_casemanager' operator='eq' value='" + contactGuid + "'/>" +
"<condition attribute='uc_cindividual' operator='eq' value='" + contactGuid + "'/>" +
"<condition attribute='uc_rindividual' operator='eq' value='" + contactGuid + "'/>" +
"</filter>" +
"</filter>" +
"</entity>" +
"</fetch>";
//add filter
//var caseGrid = Xrm.Page.getControl("gPR");
***//var caseGrid = Xrm.Page.ui.controls.get("gPR");
var caseGrid = document.getElementById("gPR").control;***
if (caseGrid == null)
{
//The caseGrid hasn't loaded, wait 1 second and then try again
setTimeout(uc_addCaseFilterToCaseGrid, 3000);
return;
}
caseGrid.control.SetParameter("fetchXML",filter);
caseGrid.control.Refresh();
}
}
此代码不起作用,因为粗体、斜体字行给我带来了问题。
如果我使用 getElementByID(不推荐,而不是我想采用的方法),则代码 SetParameter 将按预期执行。
但是,我想使用以下设置变量:
var caseGrid = Xrm.Page.getControl("gPR");
因为我想确保未来的支持。但是当我调用 SetParameter 时,我得到一个错误“对象不支持属性或方法'SetParameter'”。什么给了?
我尝试了以下方法:
caseGrid.control.SetParameter("fetchXML",filter);
caseGrid.SetParameter("fetchXML",filter);
Xrm.Page.getControl(gPR)._control.get_innerControl()._element.control.SetParameter("fetchXML",filter);
我试过 setParameter 和 SetParameter 并且都产生相同的结果。
我已经使用 XRMToolkit 测试了 fetchXml 并且它很好,所以这不是问题(很可能,但它可能是!)
我正在绕弯子试图弄清楚 - 您是否可能无法在 CRM 2013 中再使用 SetParameter(但您可以在 2011 年)?如果是这样,我还能如何为子网格提供 fetchXml?
在 IE11、CRM 2013 更新汇总包 1 + 服务包 1 中测试。
感谢您的宝贵时间。
【问题讨论】:
标签: dynamics-crm-2013 microsoft-dynamics