码迷,mamicode.com
首页 > 其他好文 > 详细

Flex3 Tree组件的过滤查找 (Tree的展开和定位)

时间:2014-12-24 11:53:35      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:flex   java   递归   


在使用Tree的时候,数据一旦很多,就很难定位自己要的数据,这里就需要查找和定位了。

默认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的方式显示。

这里我参考了老外资料,源码就不加了。

Flex3 Tree组件的过滤查找 (Tree的展开和定位)

标签:flex   java   递归   

原文地址:http://blog.csdn.net/topviewers/article/details/42120043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!