extjs 关于 treePanel + chekBox 全部选中 以及 清空选中

//树    
var treePanel = new Ext.tree.TreePanel({
	id:'ptree',
	region:'west',
	layout:'anchor',
	border:false,
	rootVisible: false,
	root:{},
	listeners:{
		render: function() {
			authorityTree(treePanel); /*渲染树*/
		},
		checkchange: function(node, state) {
			if (node.parentNode != null) {
				//选中子节点让相应的父节点选中
				var pNode = node.parentNode;
				if (state || treePanel.getChecked(id, pNode) == "") {
					pNode.ui.toggleCheck(state);// 触发父节点被选中
					pNode.attributes.checked = state; 
				} 
			}
			treeId = node.attributes.id;
			treeName = node.attributes.text;
		}
	}
});

//操作按钮
tbar: [{
	id: 'btnQingKong',
	text: '清空',
	iconCls: 'winupdate-icon',
	handler: function() {
		var nodes = Ext.getCmp('ptree').getChecked();
		if (nodes && nodes.length) {
			for (var i = 0; i < nodes.length; i++) {
				//设置UI状态为未选中状态
				nodes[i].getUI().toggleCheck(false);
				//设置节点属性为未选中状态
				nodes[i].attributes.checked = false;
			}
		}
	}
},{
	id: 'btnQuanXuan',
	text: '全选',
	iconCls: 'winupdate-icon',
	handler: function() {
		var nodeT = Ext.getCmp('ptree').getRootNode();
		treeCheckTrue(nodeT);
	}
}]

/**
 *checkTree全选
 */
var treeCheckTrue = function(node)
{
    node.eachChild(function (child) {
        child.getUI().toggleCheck(true);
        child.attributes.checked = true;
        treeCheckTrue(child);
    });   
}

/**
 *checkTree清空
 */
var treeCheckfalse = function(tree)
{
	var nodes = tree.getChecked(); 
	if(nodes && nodes.length){
	 for(var i=0;i<nodes.length;i++){
	  //设置UI状态为未选中状态
	  nodes[i].getUI().toggleCheck(false);
	  //设置节点属性为未选中状态
	  nodes[i].attributes.checked=false;
	 }
	} 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值