CRM 2016 subgrid 的显示隐藏

时间:2023-03-10 03:42:26
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);