CRM 2016 subgrid 的显示隐藏

Posted BinBinGo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CRM 2016 subgrid 的显示隐藏相关的知识,希望对你有一定的参考价值。

function OnLoad() {
//这里隐藏添加子记录的(+) 号按钮
hide_add_btn();
//这里隐藏鼠标在子记录上时的(删除)按钮
hide_del_btn();
//这里处理子记录分页显示问题
Xrm.Page.getControl("list").addOnLoad(hide_del_btn);
}


function hide_del_btn(){
var filteredRecordCount = Xrm.Page.getControl("list").getGrid().getTotalRecordCount();
if(filteredRecordCount <= 0 )
{
 setTimeout("hide_del_btn();", 2500);
}
else 
{
//遍历把删除按钮隐藏,但是有延时.
for(var i = 0; i<filteredRecordCount;i++)
{
var del_btn =  parent.document.getElementById(‘gridBodyTable_gridDelBtn_‘+i);
del_btn.style.display=‘none‘
}


}
}
function  hide_add_btn(){
debugger;
var add_btn = parent.document.getElementById(‘list_contextualButtonsContainer‘);
if(add_btn!=null)
{
add_btn.style.visibility=‘hidden‘;

}
else
{
 setTimeout("hide_add_btn();", 2500);
}

}

//函数隐藏整个子列表
function Row_SetVisibility(ctrlName, value) {
debugger;

    if (Xrm.Page.ui.controls.get(ctrlName) != null) {

        Xrm.Page.ui.controls.get(ctrlName).setVisible(value);

    }

 

    var row = document.getElementById(ctrlName + ‘_d‘);

    if (row == null) row = parent.document.getElementById(ctrlName + ‘_d‘);

 

    if (row != null) {

        if (value == true) {

            row.parentElement.style.display = ‘‘;

        } else {

            row.parentElement.style.display = ‘none‘;

        }

    }

}

PS:

1 如果直接使用document.getElementById(‘‘); 会一直返回NULL值. 要使用  parent.document.getElementById(‘‘);

2 子列表加载比较晚,所以多个地方使用了循环调用函数的方式  setTimeout("hide_add_btn();", 2500);

以上是关于CRM 2016 subgrid 的显示隐藏的主要内容,如果未能解决你的问题,请参考以下文章

Dynamics CRM 2011过滤器子网格和刷新

CRM product UI里assignment block的显示隐藏逻辑

jqgrid subgrid 可以显示多个子表格吗 如何打开

用于父子关系的 JQuery Grid-SubGrid

8Manage:专注企业级CRM服务应用

jqGrid subGrid配置 如何首次加载动态展开所有的子表格