flex----遍历树Tree,根据输入的名称搜索树节点,并展示该节点
来源:互联网 发布:新网域名证书 编辑:程序博客网 时间:2024/05/16 04:42
1.Tree的dataProvider为ArrayCollection:treeData
<mx:VBox width="30%" height="100%" ><mx:Label text="选择某节点:" textAlign="center" fontWeight="bold" width="100%"/><!--搜索功能布局框--><mx:HBox width="100%" height="5%"><mx:TextInput id="findLeft" keyDown="preActSearch(event)" text="{myTree.selectedItem.menuName}" width="90%"/><mx:Button id="find1Button" label="搜 索" fontWeight="bold" cornerRadius="5" right="0" fillColors="#3C80CA" click="searchActivityType()"/></mx:HBox><mx:Tree id="myTree" width="100%" height="90%" labelField="menuName"showRoot="false" dataProvider="{treeData}" itemClick="myTree_itemClickHandler(event)"/></mx:VBox>
2.定义函数:
//搜索输入框的回车键事件private function preActSearch(event:KeyboardEvent):void{if(event.keyCode==13){searchActivityType();}}//搜索节点private function searchActivityType():void{var type:String = findLeft.text;var activities:String = null;if(type==null || type.length==0){Alert.show("请输入节点名称","错误");return;}var items:Array = new Array();var pitems:Array = new Array();var node:Object;var nodes:ArrayCollection = myTree.dataProvider as ArrayCollection;var index:int = 0;while(index<nodes.length){node = nodes[index];recursionSearchWithJSON(null,node,type,items,pitems);index++;}for(var i:int =0;i<pitems.length;i++){myTree.expandChildrenOf(pitems[i],true);}if(items!=null && items.length>0){myTree.selectedItem = items[0];myTree.scrollToIndex(myTree.selectedIndex);}myTree.selectedItems=items;}//标志大的树节点是否遍历完毕var temp:Array = new Array();var flag:Boolean = false;private function recursionSearchWithJSON(parentNode:*,node:Object,type:String,items:Array,pitems:Array):void{var label:String;var arrNode:ArrayCollection;var pnode:*;if(parentNode==null){temp = new Array();flag = false;}else{temp.push(parentNode);}//描述label = node.menuName;if(label!=null && label.indexOf(type)!=-1){flag = true;items.push(node);}//这里不能加else,不然不能遍历当前节点对子节点if(myTree.dataDescriptor.isBranch(node)){if(node.hasOwnProperty("children")){arrNode = node.children as ArrayCollection;for(var i:int=0;i<arrNode.length;i++){recursionSearchWithJSON(node,arrNode[i],type,items,pitems);}}}if(flag){for(var i=0;i<temp.length;i++){pitems.push(temp[i]);}temp = new Array();flag = false;}
- flex----遍历树Tree,根据输入的名称搜索树节点,并展示该节点
- Flex tree 节点遍历的方法
- ExpandableListView 根据输入的名称搜索对应的内容并展示,点击可打开二级列表
- 树节点的遍历
- extjs 遍历树 根据子节点修改父节点图标
- Flex改变Tree树的节点图标和颜色
- flex中tree判断节点等级并增加、删除节点
- 给定Tree的根节点,按层次遍历树
- 扩展jquery easyui tree的搜索树节点方法
- 关于easyui tree控件树节点的搜索实现
- 扩展jquery easyui tree的搜索树节点方法
- 层次遍历二叉树,并输出节点所在的行数
- Delphi SelectSingleNode的使用 根据节点属性获取该节点
- 根据节点、生成树
- winform中根据节点名称找到节点
- flex的tree根据属性值改变所有节点图标的方法
- Flex中删除Tree的节点
- flex tree 节点的添加、删除
- js防止表单重复提交
- 0307
- 本地搜索功能以及整理数据按照日期来分组
- Android学习笔记:<三>Activity布局初步
- 《时代》揭晓2012年度最佳发明
- flex----遍历树Tree,根据输入的名称搜索树节点,并展示该节点
- K&R-C程序设计语言+Emacs
- 0016算法笔记——【动态规划】图像压缩问题
- Hibernate 第十讲 表关联关系(八)单向一对多
- 自制tableview 中的段名
- Intel系列处理器发展史
- kernel dev 上qos
- 在Exe和Dll之间共享变量
- 程序员放松的8个好网站推荐