如何在dynamics crm 2013中更改部分名称

时间:2015-03-05 09:44:19

标签: javascript crm dynamics-crm-2013

如果选中我的复选框,我想更改部分名称,这是我的代码
我试图使用循环,但我仍然有同样的错误!
 我收到此错误消息 Champ :cac_is_demande_mere Événement onchange Erreur :Unable to get property 'controls' of undefined or null reference

function Demande_Type()
{
    if (Xrm.Page.getAttribute("cac_is_demande_mere").getValue())
    {
        Xrm.Page.getControl("parentcaseid").setLabel("new Field");

        Xrm.Page.ui.tabs.get("general").sections.get("ChildCasesGrid").controls.setLabel("new Field");

    /* var ctrlName = Xrm.Page.ui.controls.get();   
        for(var i in ctrlName) {    
             var ctrl = ctrlName[i];    
             var ctrlSection = ctrl.getParent().getName();  
             if (ctrlSection == "ChildCasesGrid") { 
                   ctrl.setLabel("new Field");  
            }   
        }   */


    }
    else 
    {
        Xrm.Page.getControl("parentcaseid").setLabel("Demande Parente");
        Xrm.Page.ui.tabs.get("general").sections.get("ChildCasesGrid").controls.setLabel("Demandes Filles");
    /* var ctrlName = Xrm.Page.ui.controls.get();   
        for(var i in ctrlName) {    
             var ctrl = ctrlName[i];    
             var ctrlSection = ctrl.getParent().getName();  
             if (ctrlSection == "ChildCasesGrid") { 
                   ctrl.setLabel("Demandes Filles");    
            }   
        }*/
    }

}

4 个答案:

答案 0 :(得分:0)

根据您的代码,我建议您重新检查某个部分的ID。它真的是ChildCasesGrid吗?您能否提供部分设置表单的截图?

根据提供的屏幕截图,您使用网格的ID而不是放置网格的部分。所以解决方案 - 找到一个部分的ID并将其放入您的代码中。

答案 1 :(得分:0)

由于您尝试的.controls仅在此行之后

Xrm.Page.ui.tabs.get("general").sections.get("ChildCasesGrid")

则表示.get("ChildCasesGrid")结果为null或未定义。

这意味着您在名为ChildCasesGrid的标签中没有任何名为general的部分:其中一个名称错误(注意,它们区分大小写)。< / p>

答案 2 :(得分:0)

screenshot of section settings form

@andrii butenko这是我的部分名称

答案 3 :(得分:0)

您实际上想要Xrm.Page.getControl("ChildCasesGrid").setLabel("new label")来设置子网格的标签