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.

5 Comentários

  1. Ricardo disse,

    11 Junho, 2008 às 2:04 am

    Nossa, show de bola a dica !
    Continue falando bastante do AdvancedDataGrid =)

  2. Wescley disse,

    22 Julho, 2008 às 5:29 am

    Ricardo, valew pelas dicas…
    Mto bkana!!

  3. Paula disse,

    30 Outubro, 2008 às 5:48 pm

    Concordo plenamente com o seu primeiro artigo. A primeira vez que vi o AdvancedDataGrid fiquei maravilhada. Agora, ele se tornou um pesadelo. Canso de bater a cabeça até conseguir resolver os problemas.
    Saberia me dizer para que exatamente serve a propriedade childrenField na tag GroupingCollection?
    Obrigada!!!

  4. Eric Cavalcanti disse,

    4 Fevereiro, 2009 às 11:37 pm

    Uma alternativa seria:

    IHierarchicalCollectionView(adg.dataProvider).refresh();

  5. Jandersonfc disse,

    24 Agosto, 2009 às 7:02 pm

    show de bola… muito boa a dica

    100% útil… obrigado e parabéns pelo blog ;)


Comente