Flex - Controllo AdvancedDataGrid
introduzione
Il controllo AdvancedDataGrid ha aggiunto più funzionalità al controllo DataGrid standard per aggiungere funzionalità di visualizzazione dei dati all'applicazione Flex. Queste funzionalità forniscono un maggiore controllo della visualizzazione dei dati, dell'aggregazione dei dati e della formattazione dei dati.
Dichiarazione di classe
Di seguito è riportata la dichiarazione per mx.controls.AdvancedDataGrid classe -
public class AdvancedDataGrid
extends AdvancedDataGridBaseEx
Proprietà pubbliche
Suor n | Proprietà e descrizione |
---|---|
1 | displayDisclosureIcon : Boolean Controlla la creazione e la visibilità delle icone di divulgazione nella struttura di navigazione. |
2 | displayItemsExpanded : Boolean Se true, espandere l'albero di navigazione per mostrare tutti gli elementi. |
3 | firstVisibleItem : Object L'elemento del provider di dati che corrisponde all'elemento attualmente visualizzato nella riga superiore del controllo AdvancedDataGrid. |
4 | groupedColumns : Array Un array che definisce la gerarchia delle istanze di AdvancedDataGridColumn quando si esegue il raggruppamento di colonne. |
5 | groupIconFunction : Function Una funzione di callback fornita dall'utente da eseguire su ogni elemento del gruppo per determinare la relativa icona di ramo nella struttura di navigazione. |
6 | groupItemRenderer : IFactory Specifica il renderer di elementi utilizzato per visualizzare i nodi di diramazione nella struttura di navigazione che corrispondono ai gruppi. |
7 | groupLabelFunction : Function Una funzione di callback da eseguire su ogni elemento per determinarne l'etichetta nella struttura di navigazione. |
8 | groupRowHeight : Number L'altezza della riga raggruppata, in pixel. |
9 | hierarchicalCollectionView : IHierarchicalCollectionView L'istanza di IHierarchicalCollectionView utilizzata dal controllo. |
10 | itemIcons : Object Un oggetto che specifica le icone degli elementi. |
11 | lockedColumnCount : int [override] L'indice della prima colonna nel controllo che scorre. |
12 | lockedRowCount : int [override] L'indice della prima riga nel controllo che scorre. |
13 | rendererProviders : Array Matrice di istanze di AdvancedDataGridRendererProvider. |
14 | selectedCells : Array Contiene una matrice di posizioni delle celle come indici di riga e colonna. |
15 | treeColumn : AdvancedDataGridColumn La colonna in cui viene visualizzato l'albero. |
Proprietà protette
Suor n | Proprietà e descrizione |
---|---|
1 | anchorColumnIndex : int = -1 L'indice della colonna dell'ancora corrente. |
2 | caretColumnIndex : int = -1 Il nome della colonna dell'elemento sotto il cursore. |
3 | cellSelectionTweens : Object Una tabella hash di interpolazioni di selezione. |
4 | highlightColumnIndex : int = -1 L'indice della colonna dell'elemento su cui è attualmente eseguito il rollover sopra o sotto il cursore. |
5 | selectedColumnIndex : int = -1 La colonna della cella selezionata. |
6 | treeColumnIndex : int [sola lettura] Il numero della colonna dell'albero. |
7 | tween : Object L'oggetto interpolazione che anima le righe Gli utenti possono aggiungere listener di eventi a questo oggetto per ricevere una notifica quando l'interpolazione inizia, si aggiorna e finisce. |
8 | visibleCellRenderers : Object Una tabella hash dei renderer di elementi del fornitore di dati attualmente in vista. |
Metodi pubblici
Suor n | Metodo e descrizione |
---|---|
1 | AdvancedDataGrid() Costruttore. |
2 | collapseAll():void Comprime tutti i nodi dell'albero di navigazione. |
3 | expandAll():void Espande tutti i nodi dell'albero di navigazione nel controllo. |
4 | expandChildrenOf(item:Object, open:Boolean):void Apre o chiude tutti i nodi dell'albero di navigazione sotto l'elemento specificato. |
5 | expandItem(item:Object, open:Boolean, animate:Boolean = false, dispatchEvent:Boolean = false, cause:Event = null):void Apre o chiude un nodo di diramazione dell'albero di navigazione. |
6 | getParentItem(item:Object):* Restituisce l'elemento padre di un elemento figlio. |
7 | isItemOpen(item:Object):Boolean Restituisce vero se il nodo di diramazione specificato è aperto. |
8 | setItemIcon(item:Object, iconID:Class, iconID2:Class):void Imposta l'icona associata nella struttura di navigazione per l'elemento. |
Metodi protetti
Suor n | Metodo e descrizione |
---|---|
1 | addCellSelectionData (uid:String, columnIndex:int, selectionData:AdvancedDataGridBaseSelectionData):void Aggiunge le informazioni sulla selezione della cella al controllo, come se avessi usato il mouse per selezionare la cella. |
2 | applyCellSelectionEffect (indicator:Sprite, uid:String, columnIndex:int, itemRenderer:IListItemRenderer):void Imposta l'effetto per l'applicazione dell'indicatore di selezione. |
3 | applyUserStylesForItemRenderer (givenItemRenderer:IListItemRenderer):void Applica gli stili dal controllo AdvancedDataGrid a un renderer di elementi. |
4 | atLeastOneProperty(o:Object):Boolean Restituisce true se Object ha almeno una proprietà, il che significa che il dizionario ha almeno una chiave. |
5 | clearCellSelectionData():void Cancella le informazioni sulla selezione delle celle. |
6 | clearIndicators():void [override] Rimuove tutta la selezione, l'evidenziazione e gli indicatori di cursore. |
7 | clearSelectedCells(transition:Boolean = false):void Cancella la proprietà selectedCells. |
8 | dragCompleteHandler(event:DragEvent):void [override] Gestore per l'evento DragEvent.DRAG_COMPLETE. |
9 | dragDropHandler(event:DragEvent):void [override] Gestore dell'evento DragEvent.DRAG_DROP. |
10 | drawVerticalLine (s:Sprite, colIndex:int, color:uint, x:Number):void [override] Disegna una linea verticale tra le colonne. |
11 | finishKeySelection():void [override] Imposta gli elementi selezionati in base alle proprietà caretIndex e anchorIndex. |
12 | initListData (item:Object, adgListData:AdvancedDataGridListData):void Inizializza un oggetto AdvancedDataGridListData utilizzato dal renderer di elementi AdvancedDataGrid. |
13 | moveIndicators(uid:String, offset:int, absolute:Boolean):void [override] Sposta gli indicatori di selezione della cella e della riga verso l'alto o verso il basso dell'offset dato mentre il controllo scorre il suo display. |
14 | removeCellSelectionData(uid:String, columnIndex:int):void Rimuove le informazioni sulla selezione delle celle dal controllo. |
15 | selectCellItem (item:IListItemRenderer, shiftKey:Boolean, ctrlKey:Boolean, transition:Boolean = true):Boolean Aggiorna l'elenco delle celle selezionate, supponendo che il renderer dell'elemento specificato sia stato cliccato dal mouse e che i modificatori della tastiera siano nello stato specificato. |
16 | selectItem (item:IListItemRenderer, shiftKey:Boolean, ctrlKey:Boolean, transition:Boolean = true):Boolean [override] Aggiorna il set di elementi selezionati dato che il renderer di elementi fornito è stato cliccato dal mouse e i modificatori della tastiera sono nello stato specificato. |
17 | treeNavigationHandler(event:KeyboardEvent):Boolean Gestore per la navigazione da tastiera per l'albero di navigazione. |
Eventi
Suor n | Descrizione dell'evento |
---|---|
1 | headerDragOutside Inviato quando l'utente trascina una colonna all'esterno del suo gruppo di colonne. |
2 | headerDropOutside Inviato quando l'utente rilascia una colonna al di fuori del proprio gruppo di colonne. |
3 | itemClose Inviato quando un ramo dell'albero di navigazione viene chiuso o compresso. |
4 | itemOpen Inviato quando un ramo dell'albero di navigazione viene aperto o espanso. |
5 | itemOpening Inviato quando viene avviata un'operazione di apertura o chiusura di un ramo di albero. |
Metodi ereditati
Questa classe eredita i metodi dalle seguenti classi:
- 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
- Object
Esempio di controllo Flex AdvancedDataGrid
Seguiamo i seguenti passaggi per verificare l'utilizzo del controllo AdvancedDataGrid in un'applicazione Flex creando un'applicazione di test:
Passo | Descrizione |
---|---|
1 | Crea un progetto con un nome HelloWorld sotto un pacchetto com.tutorialspoint.client come spiegato nel capitolo Flex - Crea applicazione . |
2 | Modifica HelloWorld.mxml come spiegato di seguito. Mantieni il resto dei file invariato. |
3 | Compilare ed eseguire l'applicazione per assicurarsi che la logica aziendale funzioni secondo i requisiti. |
Di seguito è riportato il contenuto del file mxml modificato 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[
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>
Una volta che sei pronto con tutte le modifiche apportate, compiliamo ed eseguiamo l'applicazione in modalità normale come abbiamo fatto nel capitolo Flex - Crea applicazione . Se tutto va bene con la tua applicazione, produrrà il seguente risultato: [ Provalo online ]