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


在使用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;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值