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
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 顯示樹的列。 |
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)。 |
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
目的
讓我們按照以下步驟通過創(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é)果:[在線試用]
更多建議: