这个例子是用来选中子节点的同时展开父节点
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:layout>
<s:VerticalLayout horizontalAlign="center"/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<fx:XML id="treeXML">
<root label="监控点">
<node label="厦门市软件园一期">
<node label="望海路一" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="观日路一" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="前埔南路一" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="虎仔山路一" source="http://helpexamples.com/flash/video/lights_long.flv"/>
</node>
<node label="厦门市软件园二期">
<node label="望海路二" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="观日路二" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="前埔南路二" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="虎仔山路二" source="http://helpexamples.com/flash/video/lights_long.flv"/>
</node>
<node label="厦门市软件园三期">
<node label="望海路三" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="观日路三" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="前埔南路三" source="http://helpexamples.com/flash/video/cuepoints.flv"/>
<node label="虎仔山路三" source="http://helpexamples.com/flash/video/lights_long.flv"/>
</node>
</root>
</fx:XML>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.events.ListEvent;
private function selectedItem():void
{
var label:String = textI.text;
var node:XMLList = treeXML.child("node").child("node").(@label == label);
expandParents(node[0]);
tree.selectedItem = node[0];
}
private function expandParents(node:XML):void
{
if (node && !tree.isItemOpen(node))
{
tree.expandItem(node, true);
expandParents(node.parent());
}
}
protected function tree_itemClickHandler(event:ListEvent):void
{
// TODO Auto-generated method stub
var node:XML = tree.selectedItem as XML;
trace(node.@label);
textI.text = node.@label;
}
]]>
</fx:Script>
<s:TextInput text="望海路一" id="textI"/>
<mx:Button label="选中" click="selectedItem()"/>
<mx:Tree id="tree" width="300" height="400" dataProvider="{treeXML}" labelField="@label" showRoot="false"
itemClick="tree_itemClickHandler(event)"/>
</s:Application>