Flex - Controle AdvancedDataGrid

Introdução

O controle AdvancedDataGrid adicionou várias funcionalidades ao controle DataGrid padrão para adicionar recursos de visualização de dados ao aplicativo Flex. Esses recursos fornecem maior controle de exibição de dados, agregação de dados e formatação de dados.

Declaração de Classe

A seguir está a declaração para mx.controls.AdvancedDataGrid classe -

public class AdvancedDataGrid
   extends AdvancedDataGridBaseEx

Propriedades Públicas

Sr. Não Descrição da Propriedade
1

displayDisclosureIcon : Boolean

Controla a criação e visibilidade dos ícones de divulgação na árvore de navegação.

2

displayItemsExpanded : Boolean

Se verdadeiro, expanda a árvore de navegação para mostrar todos os itens.

3

firstVisibleItem : Object

O elemento data provider que corresponde ao item atualmente exibido na linha superior do controle AdvancedDataGrid.

4

groupedColumns : Array

Um Array que define a hierarquia de instâncias AdvancedDataGridColumn ao executar o agrupamento de colunas.

5

groupIconFunction : Function

Uma função de retorno de chamada fornecida pelo usuário para executar em cada item do grupo para determinar seu ícone de ramificação na árvore de navegação.

6

groupItemRenderer : IFactory

Especifica o representante de item usado para exibir os nós de ramificação na árvore de navegação que correspondem aos grupos.

7

groupLabelFunction : Function

Uma função de retorno de chamada a ser executada em cada item para determinar seu rótulo na árvore de navegação.

8

groupRowHeight : Number

A altura da linha agrupada, em pixels.

9

hierarchicalCollectionView : IHierarchicalCollectionView

A instância IHierarchicalCollectionView usada pelo controle.

10

itemIcons : Object

Um objeto que especifica os ícones dos itens.

11

lockedColumnCount : int

[substituir] O índice da primeira coluna no controle que rola.

12

lockedRowCount : int

[substituir] O índice da primeira linha no controle que rola.

13

rendererProviders : Array

Matriz de instâncias AdvancedDataGridRendererProvider.

14

selectedCells : Array

Contém uma matriz de localizações de células como índices de linha e coluna.

15

treeColumn : AdvancedDataGridColumn

A coluna na qual a árvore é exibida.

Propriedades Protegidas

Sr. Não Descrição da Propriedade
1

anchorColumnIndex : int = -1

O índice da coluna da âncora atual.

2

caretColumnIndex : int = -1

O nome da coluna do item sob o cursor.

3

cellSelectionTweens : Object

Uma tabela de pré-seleção de seleção.

4

highlightColumnIndex : int = -1

O índice da coluna do item que está atualmente rolado sobre ou sob o cursor.

5

selectedColumnIndex : int = -1

A coluna da célula selecionada.

6

treeColumnIndex : int

[somente leitura] O número da coluna da árvore.

7

tween : Object

O objeto de interpolação que anima linhas Os usuários podem adicionar ouvintes de eventos a este objeto para serem notificados quando a interpolação começa, atualiza e termina.

8

visibleCellRenderers : Object

Uma tabela hash de representantes de itens do data provider atualmente em vista.

Métodos Públicos

Sr. Não Método e Descrição
1

AdvancedDataGrid()

Construtor.

2

collapseAll():void

Recolhe todos os nós da árvore de navegação.

3

expandAll():void

Expande todos os nós da árvore de navegação no controle.

4

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

Abre ou fecha todos os nós da árvore de navegação abaixo do item especificado.

5

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

Abre ou fecha um nó de ramificação da árvore de navegação.

6

getParentItem(item:Object):*

Retorna o pai de um item filho.

7

isItemOpen(item:Object):Boolean

Retorna verdadeiro se o nó de ramificação especificado estiver aberto.

8

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

Define o ícone associado na árvore de navegação para o item.

Métodos Protegidos

Sr. Não Método e Descrição
1

addCellSelectionData (uid:String, columnIndex:int, selectionData:AdvancedDataGridBaseSelectionData):void

Adiciona informações de seleção de célula ao controle, como se você tivesse usado o mouse para selecionar a célula.

2

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

Configura o efeito de aplicação do indicador de seleção.

3

applyUserStylesForItemRenderer (givenItemRenderer:IListItemRenderer):void

Aplica estilos do controle AdvancedDataGrid a um representante de item.

4

atLeastOneProperty(o:Object):Boolean

Retorna verdadeiro se o Objeto tiver pelo menos uma propriedade, o que significa que o dicionário tem pelo menos uma chave.

5

clearCellSelectionData():void

Limpa as informações sobre a seleção de células.

6

clearIndicators():void

[substituir] Remove todos os indicadores de seleção e destaque e acento circunflexo.

7

clearSelectedCells(transition:Boolean = false):void

Limpa a propriedade selectedCells.

8

dragCompleteHandler(event:DragEvent):void

[substituir] Manipulador para o evento DragEvent.DRAG_COMPLETE.

9

dragDropHandler(event:DragEvent):void

[substituir] Manipulador para o evento DragEvent.DRAG_DROP.

10

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

[substituir] Desenha uma linha vertical entre as colunas.

11

finishKeySelection():void

[substituir] Define os itens selecionados com base nas propriedades caretIndex e anchorIndex.

12

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

Inicializa um objeto AdvancedDataGridListData que é usado pelo representante de item AdvancedDataGrid.

13

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

[substituir] Move os indicadores de seleção de célula e linha para cima ou para baixo em um determinado deslocamento conforme o controle rola sua exibição.

14

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

Remove as informações de seleção de célula do controle.

15

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

Atualiza a lista de células selecionadas, assumindo que o representante de item especificado foi clicado com o mouse, e os modificadores de teclado estão no estado especificado.

16

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

[substituir] Atualiza o conjunto de itens selecionados, uma vez que o representante de item fornecido foi clicado com o mouse e os modificadores de teclado estão no estado dado.

17

treeNavigationHandler(event:KeyboardEvent):Boolean

Manipulador para navegação de teclado para a árvore de navegação.

Eventos

Sr. Não Descrição do Evento
1

headerDragOutside

Enviado quando o usuário arrasta uma coluna para fora de seu grupo de colunas.

2

headerDropOutside

Enviado quando o usuário descarta uma coluna fora de seu grupo de colunas.

3

itemClose

Despachado quando uma ramificação da árvore de navegação é fechada ou recolhida.

4

itemOpen

Enviado quando um ramo da árvore de navegação é aberto ou expandido.

5

itemOpening

Enviado quando uma operação de abertura ou fechamento de galho de árvore é iniciada.

Métodos herdados

Esta classe herda métodos das seguintes classes -

  • 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

Exemplo de controle Flex AdvancedDataGrid

Vamos seguir as etapas a seguir para verificar o uso do controle AdvancedDataGrid em um aplicativo Flex criando um aplicativo de teste -

Degrau Descrição
1 Crie um projeto com um nome HelloWorld em um pacote com.tutorialspoint.client conforme explicado no capítulo Flex - Criar aplicativo .
2 Modifique HelloWorld.mxml conforme explicado abaixo. Mantenha o resto dos arquivos inalterados.
3 Compile e execute o aplicativo para ter certeza de que a lógica de negócios está funcionando de acordo com os requisitos.

A seguir está o conteúdo do arquivo mxml modificado 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>

Quando estiver pronto com todas as alterações feitas, vamos compilar e executar o aplicativo no modo normal como fizemos no capítulo Flex - Criar aplicativo . Se tudo estiver bem com sua aplicação, ele produzirá o seguinte resultado: [ Experimente online ]