日期:2014-05-16  浏览次数:20305 次

extjs checkboxtree添加全选全不选功能

先上效果图

?

?

tbar : [{
						xtype : 'button',
						text : '全选',
						tooltip : {
							text : '<b>全选</b>'
						},
						iconCls : 'icon-check16',
						handler : function() {
							var roonodes = treepanel.getRootNode(); 
							findchildnode(roonodes); 
							function findchildnode(node) {
								var childnodes = node.childNodes;
								for (var i = 0; i < childnodes.length; i++) {
									var rootnode = childnodes[i];
									if (rootnode.leaf) {
										rootnode.getUI().toggleCheck(true);
										rootnode.attributes.checked = true;
									}
									if (rootnode.childNodes.length > 0) { 
										findchildnode(rootnode); 
									}
								}
							}
						}
					}, '-', {
						xtype : 'button',
						iconCls : 'icon-uncheck16',
						tooltip : '全不选',
						text : '全不选',
						handler : function() {
							var nodes = treepanel.getChecked();
							if (nodes && nodes.length) {
								for (var i = 0; i < nodes.length; i++) {
									nodes[i].getUI().toggleCheck(false);
									nodes[i].attributes.checked = false;
								}
							}
						}
					}, '-', {
						xtype : 'button',
						iconCls : 'icon-refresh16',
						tooltip : '刷新',
						text : '刷新',
						handler : function() {
							rootnode.loaded = false;
							rootnode.expand();
							treepanel.expandAll();
						}
					}],

?