Flex Tree控件

2018-01-01 19:20 更新

介紹

樹控件顯示排列為可擴(kuò)展樹的分層數(shù)據(jù)。

類聲明

以下是 mx.controls.Tree 類的聲明:

public class Tree 
   extends List
      implements IIMESupport

公共屬性

S.N.屬性和描述
1

dataDescriptor:mx.controls.treeClasses:ITreeDataDescriptor

返回當(dāng)前的ITreeDataDescriptor。

2

dataProvider:Object

[override]包含要顯示的數(shù)據(jù)的對(duì)象。

3

dragMoveEnabled:Boolean

[override]表示可以移動(dòng)項(xiàng)目,而不是僅僅從樹控件復(fù)制,作為拖放操作的一部分。

4

firstVisibleItem : Object

當(dāng)前顯示在樹頂行的項(xiàng)目。

5

hasRoot:Boolean

[只讀]表示當(dāng)前dataProvider有一個(gè)根項(xiàng)目; 例如,分層結(jié)構(gòu)中的單個(gè)頂節(jié)點(diǎn)。

6

itemIcons:Object

指定項(xiàng)目圖標(biāo)的對(duì)象。

7

maxHorizontalScrollPosition:Number

[override] Tree控件的maxHorizontalScrollPosition屬性的最大值。

8

openItems:Object

打開或設(shè)置的項(xiàng)目已打開。

9

showRoot:Boolean

設(shè)置根項(xiàng)目的可見性。

公共方法

S.N.方法和描述
1

Tree()

構(gòu)造函數(shù)。

2

expandChildrenOf(item:Object,open:Boolean):void

打開或關(guān)閉指定項(xiàng)目下方的所有樹項(xiàng)目。

3

expandItem(item:Object,open:Boolean,animate:Boolean = false,dispatchEvent:Boolean = false,cause:Event = null):void

打開或關(guān)閉分支項(xiàng)目。

4

getParentItem(item:Object):*

返回子項(xiàng)目的已知父項(xiàng)。

5

isItemOpen(item:Object):Boolean

如果指定的項(xiàng)目分支已打開(顯示其子項(xiàng)),則返回true。

6

setItemIcon(item:Object,iconID:Class,iconID2:Class):void

設(shè)置項(xiàng)目的關(guān)聯(lián)圖標(biāo)。

保護(hù)方法

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

初始化樹項(xiàng)目渲染器使用的TreeListData對(duì)象。

4

makeListData(data:Object,uid:String,rowNum:int):BaseListData

[override]創(chuàng)建一個(gè)新的TreeListData實(shí)例,并根據(jù)輸入數(shù)據(jù)提供者項(xiàng)目填充字段。

事件

S.N.事件和描述
1

itemClose

分支關(guān)閉或折疊時(shí)分派。

2

itemOpen

分支打開或擴(kuò)展時(shí)分派。

3

itemOpening

啟動(dòng)分支打開或關(guān)閉時(shí)分派。

繼承的方法

此類繼承以下類中的方法:

  • 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

Flex樹控件示例

讓我們按照以下步驟通過創(chuàng)建測(cè)試應(yīng)用程序來檢查Flex應(yīng)用程序中的樹控制的用法:

步驟描述
1 Flex - 創(chuàng)建應(yīng)用程序章節(jié)中所述,在包 com.tutorialspoint.client 下創(chuàng)建名為 HelloWorld 的項(xiàng)目。
2修改 HelloWorld.mxml ,如下所述。 保持文件的其余部分不變。
3編譯并運(yùn)行應(yīng)用程序,以確保業(yè)務(wù)邏輯按照要求工作。

以下是修改后的mxml文件 src / com.tutorialspoint / HelloWorld.mxml 的內(nèi)容。

<?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>

準(zhǔn)備好所有更改后,讓我們以正常模式編譯和運(yùn)行應(yīng)用程序,就像在 Flex - 創(chuàng)建應(yīng)用程序中一樣 章節(jié)。 如果一切順利,您的應(yīng)用程序,這將產(chǎn)生以下結(jié)果:[在線試用]

Flex Tree Control
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)