Flex3 Tree组件的过滤查找 (Tree的展开和定位)
2014-12-24 10:10
267 查看
在使用Tree的时候,数据一旦很多,就很难定位自己要的数据,这里就需要查找和定位了。
默认Tree的Item都是close的,查找后,要判断isBranch?如果是,我们打开它的parent,然后定位此查找项就行了。
这里涉及到的查找和定位,代码比较简单,使用一个递归方法就行了。
myTree:要查找的树;treeData:tree的数据源;findStr:待查找的项。(这里没有模糊查找,需要完全匹配)
这里涉及到了查找,那么简单的TextInput是不是显得功能太单调,而且上面的方法没有模糊匹配,所以需要一个过滤查找输入框组件。
功能截图如下:
功能点:自动过滤内容,动态显示在下拉框内,配对的项使用下划线或者改变Color的方式显示。
这里我参考了老外资料,源码就不加了。
默认Tree的Item都是close的,查找后,要判断isBranch?如果是,我们打开它的parent,然后定位此查找项就行了。
这里涉及到的查找和定位,代码比较简单,使用一个递归方法就行了。
myTree:要查找的树;treeData:tree的数据源;findStr:待查找的项。(这里没有模糊查找,需要完全匹配)
/** * 定位查找内容并打开。 * 此方法最好作为自定义Tree控件的API * */ private function recurpositionAndOpenItem(myTree:Tree,treeData:XMLList,findStr:String):void { for(var i:int=0; i<treeData.length(); i++) { var childXML:XML = treeData[i]; if(myTree.dataDescriptor.isBranch(childXML)) { recurpositionAndOpenItem(myTree,childXML.children(),findStr); continue; } if(findStr==childXML.@label) { myTree.expandChildrenOf(childXML.parent(),true); myTree.selectedItem = childXML; myTree.scrollToIndex(myTree.selectedIndex); return; } } }
这里涉及到了查找,那么简单的TextInput是不是显得功能太单调,而且上面的方法没有模糊匹配,所以需要一个过滤查找输入框组件。
功能截图如下:
功能点:自动过滤内容,动态显示在下拉框内,配对的项使用下划线或者改变Color的方式显示。
这里我参考了老外资料,源码就不加了。
相关文章推荐
- Easyui中tree组件实现搜索定位功能及展开节点定位
- Flex4_Tree组件1(添加、删除、展开、关闭、右键菜单)
- Flex中Tree组件实现导航树搜索定位功能及Tree组件的的使用要点
- Tree组件使用指南之五:点击树节点文字展开或收缩其子节点
- DWX-界面组件-常用组件-tree查找带回
- Flex中Tree组件默认展开某一层
- Tree组件使用指南之九:使用ViewCriteria过滤Tree子节点
- Flex4_Tree组件1(添加、删除、展开、关闭、右键菜单)
- Flex3 快速入门: Flex 组件的定位和布局
- Extjs4中tree组件查找所有父节点和查找所有子节点的递归方法
- (转)EasyUI组件tree只展开根节点下的一级子节点或二级子节点
- Flex4_Tree组件1(添加、删除、展开、关闭、右键菜单)
- tree组件点击标签展开、关闭节点
- [Flex] 组件Tree系列 —— 支持CheckBox组件
- Vue组件tree实现树形菜单
- JavaScript基础之查找和过滤
- 二分查找树(Binary Search Tree)
- LeetCode 272. Closest Binary Search Tree Value II(二叉搜索树查找)
- GIT第五讲 BLOB、Commit和Tree组件
- 如何清除adf table组件字段上面自带的filter过滤条件