樹控件顯示排列為可擴展樹的分層數(shù)據(jù)。
以下是 mx.controls.Tree 類的聲明:
public class Tree extends List implements IIMESupport
S.N. | 屬性和描述 |
---|---|
1 | dataDescriptor:mx.controls.treeClasses:ITreeDataDescriptor 返回當前的ITreeDataDescriptor。 |
2 | dataProvider:Object [override]包含要顯示的數(shù)據(jù)的對象。 |
3 | dragMoveEnabled:Boolean [override]表示可以移動項目,而不是僅僅從樹控件復制,作為拖放操作的一部分。 |
4 | firstVisibleItem : Object 當前顯示在樹頂行的項目。 |
5 | hasRoot:Boolean [只讀]表示當前dataProvider有一個根項目; 例如,分層結構中的單個頂節(jié)點。 |
6 | itemIcons:Object 指定項目圖標的對象。 |
7 | maxHorizontalScrollPosition:Number [override] Tree控件的maxHorizontalScrollPosition屬性的最大值。 |
8 | openItems:Object 打開或設置的項目已打開。 |
9 | showRoot:Boolean 設置根項目的可見性。 |
S.N. | 方法和描述 |
---|---|
1 | Tree() 構造函數(shù)。 |
2 | expandChildrenOf(item:Object,open:Boolean):void 打開或關閉指定項目下方的所有樹項目。 |
3 | expandItem(item:Object,open:Boolean,animate:Boolean = false,dispatchEvent:Boolean = false,cause:Event = null):void 打開或關閉分支項目。 |
4 | getParentItem(item:Object):* 返回子項目的已知父項。 |
5 | isItemOpen(item:Object):Boolean 如果指定的項目分支已打開(顯示其子項),則返回true。 |
6 | setItemIcon(item:Object,iconID:Class,iconID2:Class):void 設置項目的關聯(lián)圖標。 |
S.N. | 方法和描述 |
---|---|
1 | dragCompleteHandler(event:DragEvent):void [override]處理DragEvent.DRAG_COMPLETE事件。 |
2 | dragDropHandler(event:DragEvent):void [override]處理DragEvent.DRAG_DROP事件。 |
3 | initListData(item:Object,treeListData:mx.controls.treeClasses:TreeListData):void 初始化樹項目渲染器使用的TreeListData對象。 |
4 | makeListData(data:Object,uid:String,rowNum:int):BaseListData [override]創(chuàng)建一個新的TreeListData實例,并根據(jù)輸入數(shù)據(jù)提供者項目填充字段。 |
S.N. | 事件和描述 |
---|---|
1 | itemClose 分支關閉或折疊時分派。 |
2 | itemOpen 分支打開或擴展時分派。 |
3 | itemOpening 啟動分支打開或關閉時分派。 |
此類繼承以下類中的方法:
mx.controls.List
mx.controls.listClasess.ListBase
mx.core.ScrollControlBase
mx.core.UIComponent
mx.core.FlexSprite
flash.display.Sprite
flash.display.DisplayObjectContainer
flash.display.InteractiveObject
flash.display.DisplayObject
flash.events.EventDispatcher
Object
讓我們按照以下步驟通過創(chuàng)建測試應用程序來檢查Flex應用程序中的樹控制的用法:
步驟 | 描述 |
---|---|
1 | 在 Flex - 創(chuàng)建應用程序章節(jié)中所述,在包 com.tutorialspoint.client 下創(chuàng)建名為 HelloWorld 的項目。 |
2 | 修改 HelloWorld.mxml ,如下所述。 保持文件的其余部分不變。 |
3 | 編譯并運行應用程序,以確保業(yè)務邏輯按照要求工作。 |
以下是修改后的mxml文件 src / com.tutorialspoint / HelloWorld.mxml 的內容。
<?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" width="100%" height="100%" minWidth="500" minHeight="500" > <fx:Style source="/com/tutorialspoint/client/Style.css"/> <fx:Script> <![CDATA[ [Bindable] public var selectedNode:XML; // Event handler for the Tree control change event. public function treeChanged(event:Event):void { selectedNode=Tree(event.target).selectedItem as XML; } ]]> </fx:Script> <fx:Declarations> <fx:XMLList id="treeData"> <node label="E-Mail Box"> <node label="Inbox"> <node label="Client"/> <node label="Product"/> <node label="Personal"/> </node> <node label="Sent Items"> <node label="Professional"/> <node label="Personal"/> </node> <node label="Deleted Items"/> <node label="Spam"/> </node> </fx:XMLList> </fx:Declarations> <s:BorderContainer width="630" height="480" id="mainContainer" styleName="container"> <s:VGroup width="100%" height="100%" gap="50" horizontalAlign="center" verticalAlign="middle"> <s:Label id="lblHeader" text="Complex Controls Demonstration" fontSize="40" color="0x777777" styleName="heading"/> <s:Panel id="treePanel" title="Using Tree" width="500" height="300"> <s:layout> <s:VerticalLayout gap="10" verticalAlign="middle" horizontalAlign="center"/> </s:layout> <mx:Tree id="tree" width="95%" height="75%" labelField="@label" showRoot="false" dataProvider="{treeData}" change="treeChanged(event)"/> <s:TextArea height="20%" width="95%" text="Selected Item: {selectedNode.@label}"/> </s:Panel> </s:VGroup> </s:BorderContainer> </s:Application>
準備好所有更改后,讓我們以正常模式編譯和運行應用程序,就像在 Flex - 創(chuàng)建應用程序中一樣 章節(jié)。 如果一切順利,您的應用程序,這將產(chǎn)生以下結果:[在線試用]
更多建議: