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 的显示隐藏的主要内容,如果未能解决你的问题,请参考以下文章
CRM product UI里assignment block的显示隐藏逻辑