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);

时间: 2024-11-07 23:59:45

CRM 2016 subgrid 的显示隐藏的相关文章

Grid (read-only) objects and methods (client-side reference)获取子表单对象的一些方法 Crm 2016

https://msdn.microsoft.com/en-us/library/dn932126.aspx#BKMK_GridControl Updated: November 29, 2016 Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online You can set event handlers to execute scripts whe

巨丑巨简陋的一个Javascript显示隐藏菜单

<!DOCTYPE html> <html> <head> <title></title> <style type="text/css">       #div1{width:100px;             height:500px;             background: aqua;}     li{list-style-type: none;        margin-left: 0px;   

jQuery基础(动画篇 animate,显示隐藏,淡入淡出,下拉切换)

1.jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果   $elem.hide() 提供参数: .hide( options ) 当提供hide方法一个参数时,.hide()就会成为一个动画方法..hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作

CSS之选择符、链接、盒子模型、显示隐藏元素

<html> <head> <meta charset="utf-8"> <title>选择符.链接.盒子模型.显示隐藏元素</title> <style> a:link{ color:red; } a:visited{ color:black; } a:hover{ color:blue; } a:active{ color:green; } </style> </head> <bo

使用toggle()方法进行显示隐藏

使用toggle()方法进行显示隐藏 这是一个示例: 1 <html> 2 <head> 3 <script type="text/javascript" src="http://keleyi.com/keleyi/pmedia/jquery/jquery-1.10.2.min.js"></script> 4 <script type="text/javascript"> 5 $(doc

EditTextPreference点击后输入框显示隐藏内容,类似密码输入(转)

http://bbs.anzhuo.cn/thread-928131-1-1.html EditTextPreference点击后输入框显示隐藏内容,类似密码输入... [复制链接]     askilledhand ADD.幼儿园 UID 2186431 帖子 46 精华 0 积分 34 最后登录 2014-3-5 串个门 加好友 打招呼 发消息 电梯直达 1楼  发表于 2013-11-18 11:59:03 |只看该作者 |倒序浏览  一键分享 [新人报到]现在去发帖报道即可领取论坛金币哦

线程安全变量控制显示隐藏loading框

一.线程安全变量控制显示隐藏loading框 问题描述: 同一页面有两个异步网络请求,第一个请求开始,loading旋转,第二个请求开始loading旋转,第一个结束,loading停止旋转,可是这时第二个请求还没有结束,然后loading就结束了,于是问题就来了. 解决方案: 二.由上面问题引申出的问题: 1. #import <libkern/OSAtomic.h> 这段话是从网上copy过来的,总结了一下原子操作的作用.但是文中提到的osbase.h文件找不到.可能是因为版本升级我的li

WEB前端:03_hover切换(显示/隐藏)

hover切换(显示/隐藏) 网站常用效果之一,以下为简化版,用于学习javascript基础知识. 效果图: hover显示/隐藏切换 - 纯JS简化版 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <html> <head> <meta http-equiv="Content-Type&qu

HTML5--》点击显示隐藏内容

<details>浏览器支持比较差,可以用JavaScript实现这种功能. 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>js点击显示隐藏内容</title> 6 <style type="text/css" > 7 body{font-size:12px;} 8 span{f