Flex AdvancedDataGrid控件

2018-01-01 18:55 更新

介紹

AdvancedDataGrid控件向標(biāo)準(zhǔn)DataGrid控件添加了多個功能,以向Flex應(yīng)用程序添加數(shù)據(jù)可視化功能。 這些功能可以更好地控制數(shù)據(jù)顯示,數(shù)據(jù)聚合和數(shù)據(jù)格式化。

類聲明

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

public class AdvancedDataGrid
   extends AdvancedDataGridBaseEx

公共財產(chǎn)

S.N.屬性和描述
1

displayDisclosureIcon:Boolean

控制導(dǎo)航樹中的公開圖標(biāo)的創(chuàng)建和可見性。

2

displayItemsExpanded:Boolean

如果為true,請展開導(dǎo)航樹以顯示所有項目。

3

firstVisibleItem : Object

與當(dāng)前顯示在AdvancedDataGrid控件頂行中的項對應(yīng)的數(shù)據(jù)提供程序元素。

4

groupedColumns:Array

在執(zhí)行列分組時定義AdvancedDataGridColumn實例的層次結(jié)構(gòu)的數(shù)組。

5

groupIconFunction : Function

用戶提供的回調(diào)函數(shù)在每個組項目上運(yùn)行以確定其在導(dǎo)航樹中的分支圖標(biāo)。

6

groupItemRenderer:IFactory

指定用于在導(dǎo)航樹中顯示與組對應(yīng)的分支節(jié)點的項呈示器。

7

groupLabelFunction:Function

在每個項目上運(yùn)行的回調(diào)函數(shù),以確定其在導(dǎo)航樹中的標(biāo)簽。

8

groupRowHeight:Number

分組行的高度(以像素為單位)。

9

hierarchicalCollectionView:IHierarchicalCollectionView

控件使用的IHierarchicalCollectionView實例。

10

itemIcons:Object

指定項目圖標(biāo)的對象。

11

lockedColumnCount:int

[override]控件中滾動的第一列的索引。

12

lockedRowCount:int

[override]控件中滾動的第一行的索引。

13

rendererProviders:Array

AdvancedDataGridRendererProvider實例的數(shù)組。

14

selectedCells:Array

包含單元格位置數(shù)組作為行和列索引。

15

treeColumn:AdvancedDataGridColumn

顯示樹的列。

受保護(hù)的屬性

S.N.屬性和描述
1

anchorColumnIndex:int = -1

當(dāng)前錨點的列索引。

2

caretColumnIndex:int = -1

插入符下的項目的列名稱。

3

cellSelectionTweens:Object

選擇補(bǔ)間的哈希表。

4

highlightColumnIndex:int = -1

當(dāng)前在光標(biāo)上方或下方滾動的項目的列索引。

5

selectedColumnIndex:int = -1

所選單元格的列。

6

treeColumnIndex:int

[只讀]樹列號。

7

tween : Object

動畫行的補(bǔ)間對象用戶可以向此對象添加事件偵聽器,以在補(bǔ)間開始,更新和結(jié)束時獲得通知。

8

visibleCellRenderers:Object

當(dāng)前在視圖中的數(shù)據(jù)提供程序項呈示器的哈希表。

公共方法

S.N.方法和描述
1

AdvancedDataGrid()

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

2

collapseAll():void

折疊導(dǎo)航樹的所有節(jié)點。

3

expandAll():void

擴(kuò)展控件中導(dǎo)航樹的所有節(jié)點。

4

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

打開或關(guān)閉指定項目下方導(dǎo)航樹的所有節(jié)點。

5

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

打開或關(guān)閉導(dǎo)航樹的分支節(jié)點。

6

getParentItem(item:Object):*

返回子項的父項。

7

isItemOpen(item:Object):Boolean

如果指定的分支節(jié)點打開,則返回true。

8

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

在項目的導(dǎo)航樹中設(shè)置關(guān)聯(lián)的圖標(biāo)。

保護(hù)方法

S.N.方法和描述
1

add Cell Selection Data (uid:String, columnIndex:int, selectionData:AdvancedDataGridBaseSelectionData):void

向控件中添加單元格選擇信息,就像您使用鼠標(biāo)選擇單元格一樣。

2

applyCellSelectionEffect(indicator:Sprite,uid:String,columnIndex:int,itemRenderer:IListItemRenderer):void

設(shè)置應(yīng)用選擇指示器的效果。

3

applyUserStylesForItemRenderer(givenItemRenderer:IListItemRenderer):void

將樣式從AdvancedDataGrid控件應(yīng)用到項呈示器。

4

atLeastOneProperty(o:Object):Boolean

如果對象至少有一個屬性,則返回true,這意味著字典至少有一個鍵。

5

clearCellSelectionData():void

清除單元格選擇的信息。

6

clearIndicators():void

[override]刪除所有選擇,高亮和插入符號指示符。

7

clearSelectedCells(transition:Boolean = false):void

清除selectedCells屬性。

8

dragCompleteHandler(event:DragEvent):void

[override] DragEvent.DRAG_COMPLETE事件的處理程序。

9

dragDropHandler(event:DragEvent):void

[override] DragEvent.DRAG_DROP事件的處理程序。

10

drawVerticalLine(s:Sprite,colIndex:int,color:uint,x:Number):void

[override]在列之間繪制垂直線。

11

finishKeySelection():void

[override]根據(jù)caretIndex和anchorIndex屬性設(shè)置所選項目。

12

initListData(item:Object,adgListData:AdvancedDataGridListData):void

初始化AdvancedDataGrid項呈示器使用的AdvancedDataGridListData對象。

13

moveIndicators(uid:String,offset:int,absolute:Boolean):void

[override]當(dāng)控件滾動其顯示時,將單元格和行選擇指示符向上或向下移動給定的偏移量。

14

removeCellSelectionData(uid:String,columnIndex:int):void

從控件中刪除單元格選擇信息。

15

selectCellItem(item:IListItemRenderer,shiftKey:Boolean,ctrlKey:Boolean,transition:Boolean = true):Boolean

更新所選單元格的列表,假設(shè)指定的項目渲染器由鼠標(biāo)單擊,并且鍵盤修飾符處于指定狀態(tài)。

16

selectItem(item:IListItemRenderer,shiftKey:Boolean,ctrlKey:Boolean,transition:Boolean = true):Boolean

[override]更新所選項目的集合,因為鼠標(biāo)點擊了所提供的項目渲染器,并且鍵盤修飾符處于給定狀態(tài)。

17

treeNavigationHandler(event:KeyboardEvent):Boolean

用于導(dǎo)航樹的鍵盤導(dǎo)航的處理程序。

事件

S.N.事件和描述
1

headerDragOutside

當(dāng)用戶將列拖動到其列組以外時分派。

2

headerDropOutside

當(dāng)用戶將列拖放到其列組之外時分派。

3

itemClose

當(dāng)導(dǎo)航樹的分支關(guān)閉或折疊時分派。

4

itemOpen

打開或展開導(dǎo)航樹的分支時分派。

5

itemOpening

在啟動樹分支打開或關(guān)閉操作時分派。

繼承的方法

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

  • mx.controls.AdvancedDataGridBaseEx

  • mx.controls.AdvancedDataGridBase

  • mx.controls.listClasses.AdvancedDataGridBase

  • mx.core.ScrollControlBase

  • mx.core.UIComponent

  • mx.core.FlexSprite

  • flash.display.Sprite

  • flash.display.DisplayObjectContainer

  • flash.display.InteractiveObject

  • flash.display.DisplayObject

  • flash.events.EventDispatcher

  • 目的

Flex高級DataGrid控件示例

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

步驟描述
1 Flex - 創(chuàng)建應(yīng)用程序章節(jié)中所述,在包 com.tutorialspoint.client 下創(chuàng)建名為 HelloWorld 的項目。
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[
         import mx.collections.ArrayCollection;
         [Bindable]
         public var data:ArrayCollection = new ArrayCollection(
         [   
            {value:"France", code:"FR"},
            {value:"Japan", code:"JP"},
            {value:"India", code:"IN"},
            {value:"Russia", code:"RS"},
            {value:"United States", code:"US"}		
         ]                
         );
      ]]>
   </fx:Script>
   <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="dataGridPanel" title="Using DataGrid" 
            width="500" height="300">
            <s:layout>
               <s:VerticalLayout  gap="10" verticalAlign="middle" 
                  horizontalAlign="center"/>							
            </s:layout>					
            <mx:AdvancedDataGrid dataProvider="{data}" id="advancedDataGrid" >
               <mx:columns>
                  <mx:AdvancedDataGridColumn dataField="code" width="100" 
                  headerText="Code" />
                  <mx:AdvancedDataGridColumn dataField="value" width="200" 
                  headerText="Value"/>							
               </mx:columns>
            </mx:AdvancedDataGrid>
            <s:HGroup width="60%">
               <s:Label text="Code :"/> 
               <s:Label text="{advancedDataGrid.selectedItem.code}"
                  fontWeight="bold"/>
               <s:Label text="Value :"/> 
               <s:Label text="{advancedDataGrid.selectedItem.value}"
                  fontWeight="bold"/>						
            </s:HGroup>
         </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é)果:[在線試用]


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號