AdvancedDataGrid parte 2 – dando refresh em um HierarchicalData

Esse é o segundo post da série sobre AdvancedDataGrid no primeiro post eu dei uma dica bem útil para quem quer utilizar o hierarchicalData com dados vindos de um RemoteObject.

O componente HierarchicalData não tem um método refres(), para conseguir essa função é necessário extender a classe HierarchicalData, eis o código:

package com.wordpress.bobfernandes.beans
{
import mx.collections.HierarchicalData;
import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;

public class RefreshHieararchicalData extends HierarchicalData
{
// O truque é sobrescrever o set source
// para que seja disparado um CollectionEvent do tipo reset
override public function set source(value:Object):void
{
super.source = value;
var event:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
event.kind = CollectionEventKind.RESET;
dispatchEvent(event);
}
}
}

Na hora de usar faça assim:

<mx:dataProvider>
<beans:RefreshHieararchicalData id=”UmIdRelevante” source=”{SeuArrayCollection}”/>
</mx:dataProvider>

No próximo post eu mostrarei um exemplo de ADG com ItemRenderer.

AdvancedDataGrid parte 1 – usando ArrayCollection como DataProvider

Esse é o primeiro post de uma série que pretendo escrever sobre o AdvancedDataGrid, quem não ficou empolgado quando viu pela primeira vez algo sobre o ADG? E quem não ficou decepcionado quando tentou usar pela primeira vez o ADG? Se você respondeu sim para as duas perguntas saiba que você não está sozinho, a primeira vista ele parece o componente dos sonhos mas na hora de usar ele rapidamente vira o componente dos pesadelos.

Bem vamos ao que interessa, esse primeiro post vai ser só uma dica muito simples mas que faz toda a diferença, quando a origem dos dados é um arrayCollection vindo de um RemoteObject para poder usar o hierarchicalData todos os objetos que são filhos de outro objeto tem que se chamar “children” ou ter o mesmo nome que tem que ser indicado na propriedade childrenField.

No próximo post da série irei mostrar como dar refresh em uma hierarchicalData.