<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/30749527_d.html -->
<!-- http://www.slsay.com -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
private function comboBox_change(evt:ListEvent):void {
var team:String = ComboBox(evt.currentTarget).selectedItem.@label;
var node:XMLList = mlb.league.division.team.(@label == team);
expandParents(node[0]);
tree.selectedItem = node[0];
var idx:int = tree.getItemIndex(node[0]);
tree.scrollToIndex(idx);
}
private function expandParents(node:XML):void {
if (node && !tree.isItemOpen(node)) {
tree.expandItem(node, true);
expandParents(node.parent());
}
}
]]>
</mx:Script>
<mx:XML id="mlb" source="mlb.xml" />
<mx:ApplicationControlBar dock="true">
<mx:ComboBox id="comboBox"
prompt="Please select a team..."
dataProvider="{mlb.league.division.team}"
labelField="@label"
change="comboBox_change(event);" />
</mx:ApplicationControlBar>
<mx:Tree id="tree"
dataProvider="{mlb}"
labelField="@label"
showRoot="false"
width="300"
rowCount="8" />
</mx:Application>
flex tree expandItem
最新推荐文章于 2023-12-11 15:42:45 发布