Flex Tree自动定位节点

来源:互联网 发布:是 什么是大数据概念 编辑:程序博客网 时间:2024/04/30 21:48
说明:根据comboBox控件中的选择内容,自动定位到Tree中的节点,并展开http://luhantu.iteye.com/blog/1536277<?xml version="1.0" encoding="utf-8"?><s:VGroup xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:s="library://ns.adobe.com/flex/spark"   xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"><fx:Declarations><fx:XMLList id="treeData"><node label="Mail Box"><node label="Inbox"><node label="Marketing"/><node label="Product Management"/><node label="Personal"/></node><node label="Outbox"><node label="Professional"/><node label="Personal"/></node><node label="Spam"/><node label="Sent"/></node></fx:XMLList></fx:Declarations><fx:Script><![CDATA[ import mx.events.ListEvent;private function comboBox_change(evt:ListEvent):void {var team:String = ComboBox(evt.currentTarget).selectedItem.@label;var node:XMLList = treeData.node.node.(@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());}}]]></fx:Script><mx:ComboBox id="comboBox" prompt="Please select a team..." dataProvider="{treeData.node.node}" labelField="@label" change="comboBox_change(event);"/><mx:Tree id="tree" dataProvider="{treeData}" labelField="@label" showRoot="false" width="300" rowCount="8" /></s:VGroup>