问题描述
大家好。。我现在遇到一个问题就是在extjs中的tree问题..我是想实现判断树的父节点是否被选中,如果选中就累加父节点下面的所有子节点id的总和具体是这样子的:比如父节点A,下面有A1,A2,A3,如果我选中了A,那么如果A1,A2,A3都被选中的话,就累加,如果只选中了A2,A3,那么就累加A2和A3,请问下这个要怎么实现。谢谢了..
解决方案
解决方案二:
这个问题木有难度~去googleExt.ux.TreeCheckNodeUI我给你找了一个,http://blog.csdn.net/weil001/article/details/4008016关键代码是在treepanel创建成功,不报错之后,if(!treePanel){vargovNode=newExt.tree.AsyncTreeNode({text:'机构',draggable:false,id:'root'});treePanel=newExt.tree.TreePanel({el:'roleTreeDiv',autoScroll:true,animate:true,root:govNode,line:true,selMode:true,rootVisible:true,loader:false,border:false,checkModel:'cascade',//对树的级联多选onlyLeafCheckable:false,//对树所有结点都可选width:226,height:330,loader:newExt.tree.DWRTreeLoader({dataUrl:dwrRoleInfoService.getRoleInfoTree2,baseAttrs:{uiProvider:Ext.ux.TreeCheckNodeUI},listeners:{'beforeload':function(node){treePanel.getLoader().args[0]=(node.id!='root'?node.id:"00");}}})});govNode.expand(true);treePanel.render();}
varids=treePanel.getChecked("id");//ids.length就是所有的节点数id对于数据源返回回来的IDif(vari=0;i<ids.length;i++){if(treePanel.getNodeById(ids[i]).isLeaf()){//咯,这里判断是否为子节点或者是父节点rmap[m]=ids[i];//每行对象}}