Flex Tree 全部展开默认选中任意某个节点处理

来源:互联网 发布:深圳网络光纤布线招聘 编辑:程序博客网 时间:2024/05/17 06:15

1、XML原格式

<fx:XMLList id="menuXML">   <Root><NODE SID="029"      SNAME="六环次渠收费站"      MYDATA="GLOBAL">  <NODE SID="029710000"        SNAME="内环出口"PID="029"MYDATA="EXIT">   <NODE SID="01002" SNAME="外侧第一车道" PID="029710000" SFLAG="0" MYDATA="LANE"/>   </NODE></NODE> </Root></fx:XMLList>
2、选中某个节点,此节点通过@MYDATA 已经可知是那种类型

                                var xmlString:String=menuXML;if (xmlString != "<Root/>"){this.xml=new XML(xmlString);//循环最后一层节点的数据,此节点就是应选择的节点数据,可根据层级关系来设置选中那一节点for each (var treeItem:XML in xml.children().children().children()){//如果是停车单元,选中并获取相关信息if (treeItem.@MYDATA == "LANE"){tree_id.selectedItem=treeItem;break;}}}

3、展开全部

        if (!tree_id.isItemOpen(XML(this.xml.NODE))){this.tree_id.expandItem(XML(this.xml.NODE), true, true);}//展开第一级节点//this.tree_id.expandItem(XML(this.xml..NODE.(@MYDATA == "GLOBAL")), true, true);//展开全部节点for each (var item:Object in tree_id.dataProvider){tree_id.expandChildrenOf(item, true);}
4、选中节点后执行其他方法

      //获取默认选中的节点信息tree_id.callLater(function():void{if (tree_id.selectedItem != null){parkNameStr=Global_Tree.selectedItem.@SNAME;parkIdStr=Global_Tree.selectedItem.@SID;ParkCostObj.findCostList(parkIdStr); //执行方法}});