首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex tree 树形控件 高速定位

2012-09-07 
flex tree 树形控件 快速定位需求:根据一个字符串查找树形控件对应的节点,并选中实现思路:首先要知道tree

flex tree 树形控件 快速定位

需求:根据一个字符串查找树形控件对应的节点,并选中

实现思路:首先要知道tree中的数据肯定是XML或者XMLList,因此可以选择使用递归循环查找xml,并于需要匹配的字符进行比较,记录匹配到的节点.并选中.

具体代码:

?var list:XMLList=newXMLList();
?list[0] =budProTr.dataProvider[0];?//budProTr是tree的id,获取tree的dataProvider
?recursionFindTree(list,costDetailGuid);??//调用循环方法查找匹配的节点

?

?

??//递归定位树形节点,要查找的字符就是传入的find?和对应tree的@guid属性
????privatefunction recursionFindTree(xmlList:XMLList,find:String):void
????{
?????for(vari:int=0;i<xmlList.length();i++)
?????{
??????varchildXml:XML =xmlList[i];
??????varguid:String = childXml.@guid;
??????if(guid!= null && guid == find)
??????{
???????budProTr.selectedItem= childXml;???//将tree的选中像设定为当前项
???????saveCostCodeBtn.enabled= true;
???????return;
??????}elseif(budProTr.dataDescriptor.isBranch(childXml))//如果有子节点,则递归调用本方法
??????{
???????recursionFindTree(childXml.children(),find);
??????}
???????
?????}
????}

热点排行