Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamics crm SetParameter(“fetchXml”,fetchXml)不';2016年在线crm中的IT支持_Dynamics Crm_Crm_Dynamics Crm Online - Fatal编程技术网

Dynamics crm SetParameter(“fetchXml”,fetchXml)不';2016年在线crm中的IT支持

Dynamics crm SetParameter(“fetchXml”,fetchXml)不';2016年在线crm中的IT支持,dynamics-crm,crm,dynamics-crm-online,Dynamics Crm,Crm,Dynamics Crm Online,我有以下代码: function FilterCasesSubgrid() { //var CasesSubgrid = Xrm.Page.getControl("contact").getGrid(); var CasesSubgrid = window.parent.document.getElementById("contact"); if(CasesSubgrid==null){ setTimeout(function () { FilterCases

我有以下代码:

function FilterCasesSubgrid() {
    //var CasesSubgrid = Xrm.Page.getControl("contact").getGrid();
    var CasesSubgrid = window.parent.document.getElementById("contact");

    if(CasesSubgrid==null){ 
    setTimeout(function () { FilterCasesSubgrid(); }, 2000); //if the grid hasn’t loaded run this again when it has 
    return;
    }
    var fetchXml ="<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>"+
    "<entity name='contact'>"+
    "<attribute name='fullname' />"+
    "<filter type='and'>"+
    "<condition attribute='fullname' operator='eq' value='s%' />"+
    "</filter>"+
    "</entity>"+
    "</fetch>";
    //Here i set the fetchxml directly to subgrid
    CasesSubgrid.control.SetParameter("fetchXml", fetchXml); //set the fetch xml to the sub grid 
    CasesSubgrid.control.Refresh(); //refresh the sub grid using the new fetch xml 
}
函数过滤器CaseSusubGrid(){
//var CasesSubgrid=Xrm.Page.getControl(“联系人”).getGrid();
var CasesSubgrid=window.parent.document.getElementById(“联系人”);
如果(CasesSubgrid==null){
setTimeout(函数(){FilterCaseSusubGrid();},2000);//如果网格尚未加载,请在加载后再次运行此函数
返回;
}
var fetchXml=“”+
""+
""+
""+
""+
""+
""+
"";
//在这里,我将fetchxml直接设置为子网格
CasesSubgrid.control.SetParameter(“fetchXml”,fetchXml);//将fetchXml设置为子网格
CasesSubgrid.control.Refresh();//使用新的获取xml刷新子网格
}
错误:

TypeError:无法读取处未定义的属性“SetParameter” 过滤网


您需要等待元素和控件属性(casesusubgrid.control)


此问题已得到解答

此代码不受支持,因此您不应期望它正常工作。不支持使用直接访问DOM的任何函数(即;
window.parent.document.getElementById
)或使用未在中定义的函数,应避免使用

但是,考虑到您所要做的只是添加一个过滤器,有一些受支持的方法可以通过设置现有的FetchXML查询来实现这一点:

var myView = {
    entityType: 1039, // SavedQuery
    id:"{3A282DA1-5D90-E011-95AE-00155D9CFA02}", 
    name: "My Custom View"
}

//Set the view using ContactsIFollow
Xrm.Page.getControl("Contacts").getViewSelector().setCurrentView(myView);
以下是解决方案:

  • 我们需要使用window.parent.document.getElementById
  • 等待控件加载到DOM中
因此,代码如下所示:

函数过滤器CaseSusubGrid()
{
//var CasesSubgrid=Xrm.Page.getControl(“联系人”).getGrid();
var CasesSubgrid=window.parent.document.getElementById(“联系人”);
if(CasesSubgrid==null)
{ 
setTimeout(函数(){FilterCaseSusubGrid();},2000);//如果网格尚未加载,请在加载后再次运行此函数
返回;
}
var fetchXml=“”+
""+
""+
""+
""+
""+
""+
"";
//在这里,我将fetchxml直接设置为子网格
if(CasesSubgrid.control!=null)
{
CasesSubgrid.control.SetParameter(“fetchXml”,fetchXml);//将fetchXml设置为子网格
CasesSubgrid.control.Refresh();//使用新的获取xml刷新子网格
}
其他的
{
设置超时(CasesSubgrid,500);
}

}
我有两个自定义实体N:N关系。