ExtJS Tree刷新后只选择节点,不展开(二)
实例讲解:点击触发域(Ext.form.TriggerField)三角按钮,弹出树面板窗口,并将触发域中的内容在树面板中选中。
1.点击触发域获取触发域中的内容:
policyTg.onTriggerClick=policytrigFun; function policytrigFun(e){ policyWin.show();//注:窗口显示的时候,会去加载树! policys = policyTg.getValue();//获取触发域中的文字内容 var parentNodes = policy_root.childNodes;//根节点下的目录 if(parentNodes.length > 0) {//因为窗口刚刚展开的时候,树还未加载完,所以length = 0 showCheckedPolicys(parentNodes); } else { loadPolicys(); } }
2.加载树,并执行加载成功事件的方法:
function loadPolicys(){ ploader.on("load",function(treeLoader,node){//此时的node是root根节点——因为是一次性加载完的!!! showCheckedPolicys(node.childNodes); }); }
3.显示被勾选的内容:
/*显示被勾选的内容*/ function showCheckedPolicys(parentNodes){ //先展开再收缩父节点,让子节点充分显示 for (var i = 0; i < parentNodes.length; i++) { parentNodes[i].expand();//将各级进行展开 parentNodes[i].collapse(); } //再将所有节点的选择框给清楚掉 for (var i = 0; i < parentNodes.length; i++) { var childNodes = parentNodes[i].childNodes; for (var j = 0; j < childNodes.length; j++) { childNodes[j].ui.toggleCheck(false); } } //将触发域中获取的相关内容字符串分割为一个数组 var policyArr = policys.split(","); if(!policyArr || policyArr == ""){ return; } //循环对比,相对应的进行勾选 for (var i = 0; i < parentNodes.length; i++) { var childNodes = parentNodes[i].childNodes; for (var j = 0; j < childNodes.length; j++) { var policyText = childNodes[j].text;//将触发域的内容和树节点显示的内容进行对比 for (var k = 0; k < policyArr.length; k++) { if(policyArr[k] == policyText) { childNodes[j].ui.toggleCheck(true); } } } } }
注意:
1.将触发域内容和树节点显示的内容进行对比。
2.注意勾选是TreeNodeUI的功能,不是TreePanel的功能,也不是TreeNode的功能
图示:
相关推荐
区别在于,远程脚本调用方式加载树节点信息使用的是WebInvokeTreeLoader,需要通过fn属性来指定用于加载数据的远程方法,并在...而传统的树节点加载器是Ext.tree.TreeLoader,需要指定一个url来获得json数据。
ExtJs Tree
ExtJs 2.2.1 tree实例,内附mysql数据文件 1. 数据节点一次性加载 2. 节点分为两个类(项目和设备) 3. 右键菜单 4. 节点增、删、改操作 ....... 后台是java struts1。 本例旨在说明extjs的tree操作,后台操作很简陋...
Extjs的tree Extjs的tree Extjs的tree Extjs的tree Extjs的tree
最近在学习extjs tree,有两个不错的例子,希望对需要的朋友有所帮助!
完美的Extjs4 treePanel节点刷新,函数为自动刷新选中的节点.API看得头疼才别出来的代码.截止我发之前,好像没有谁共享这个功能的函数吧.
extjs tree 异步加载树型完整的一个web工程,自已已经试过,可用。
extjs tree 学习资料extjs tree 学习资料extjs tree 学习资料extjs tree 学习资料
ExtJs4 Checkbox tree
extjs的tree的使用.doc
Extjs动态树的实现以及节点拖拽
Extjs Tree + JSON + Struts2 示例源代码
Extjs Tree + JSON + Struts2 例子
TreePanel的各项属性能帮助我们动态加载extjs tree
access 数据库,可增加 删除树节点!!
利用extjs框架实现的后台经典显示, tree框架,动态加载。
Ext各种组件的使用实例,Extjs tree+grid+form+panel 使用实例
将文件拷贝到extjs根目录下。运行即可。实现了选中之类。父类联动选中
在网上下载别人的代码,改进加上CHECKBOX ,但是批量删除做不出来,希望高手完成并分享。
分享一个ExtJs Tree, 完整的带有复选框的树形结构