Fiz meu AdvancedDataGrid funcionar, não do jeito que eu quero, mas por
enquanto tá valendo. Eu adicionei no evento click a chamada para o
gc.refresh().

Bom, mas passando essa parte, o meu GroupingCollection, eu pretendo fazer
dinâmico, como se fosse assim:

root1
---child1
---child2
------child2.1
---------child2.1.1
root2

Ou seja, montar a hierarquia dinamicamente. Se tiver 2 filhos, mostrar até
esses 2, se tiver 10, mostrar esses 10. Porém, quando utilizo o
groupingcollection, parece que não tenho esse suporte, pois, se o máximo é
até 5 filhos, ele tenta trazer todos com 5 filhos, e por não conseguir fazer
o agrupamento, ele para de carregar o resto da grid.

Alguém já montou uma hierarquia para advanceddatagrid dinâmica dessa
maneira? E como fez o GroupingCollection?

Abraço,
Danilo

2008/6/6 Danilo <[EMAIL PROTECTED]>:

> Fala Felipe, beleza?
> Tentei o que você disse, e algumas outras coisas. Consegui fazer aparecer
> algo pegando o evento click, e chamando o gc.refresh(); (mas só apareceu a
> primeira categoria, mas acredito que seja um começo).
>
> Muito provavelmente, o problema está na hora que chamo o gc.refresh, assim
> como você e o Marcelo já falaram. Apesar disso, ainda não sei onde chamar.
> Estou enviando em anexo, o meu Mediator e o ListaContas.mxml. Caso tenha
> paciência para dar uma olhada, ficarei grato,
>
> Atenciosamente
> Danilo
>
> 2008/6/6 Felipe Fernandes <[EMAIL PROTECTED]>:
>
>
>> Danilo posta também o listaContas.
>> antes tenat o seguinte:
>> listaContas.categories = categoryProxy.categories;
>> listaContas.gc.source = listaContas.categories;
>> listaContas.gc.refresh();
>>
>> Felipe
>> http://bobfernandes.wordpress.com
>>
>>
>> 2008/6/5 Danilo <[EMAIL PROTECTED]>:
>> > Felipe, na verdade, estou utilizando o PureMVC, e no meu código, está
>> assim:
>> >
>> >         public function ListaContasMediator(viewComponent:Object){
>> >             super(NOME,viewComponent);
>> >
>> >             listaContas.addEventListener(ListaContas.CREATE, onCreate);
>> >             listaContas.addEventListener(ListaContas.REMOVE, onDelete);
>> >             listaContas.addEventListener(ListaContas.SELECT, onSelect);
>> >
>> >             categoryProxy = facade.retrieveProxy(CategoryProxy.NOME) as
>> > CategoryProxy;
>> >
>> >             listaContas.categories = categoryProxy.categories;
>> >             listaContas.gc.refresh();
>> >         }
>> >
>> > e tem essa (que pega o listaContas):
>> >         private function get listaContas():ListaContas{
>> >             return viewComponent as ListaContas
>> >         }
>> >
>> > Eu seto o categories, do listaContas, ali na linha em vermelho, e logo
>> > abaixo dei o refresh. Porém, não funciona.
>> > Não sei nem o que tentar de diferente mais.
>> >
>> > Abraço,
>> > Danilo
>> >
>> > 2008/6/5 Felipe Fernandes <[EMAIL PROTECTED]>:
>> >>
>> >> Danilo,
>> >>
>> >> Deixa eu ver se consigo te ajudar, tem uma função no meio do seu
>> >> código que trata o retorno dos dados e deve conter algo parecido com
>> >> isso:
>> >> categories = new ArrayCollection(event.result as Array);
>> >> Agora adicione o seguinte logo abaixo:
>> >> gc.refresh()
>> >>
>> >> Caso vc continue com dúvidas poste seu código (a parte flex) inteiro
>> >> aqui, para que possamos te explicar melhor.
>> >>
>> >> Felipe
>> >> http://bobfernandes.wordpress.com
>> >>
>> >> 2008/6/5 Danilo <[EMAIL PROTECTED]>:
>> >> > Marcelo,
>> >> >
>> >> > Estou entendendo o que devo fazer.
>> >> > Agora surgiu uma outra dúvida.
>> >> >
>> >> > No result do meu método que pega as categorias, eu adicionei o
>> seguinte
>> >> > código:
>> >> >
>> >> > var listaContas:ListaContas = new ListaContas();
>> >> > listaContas.gc.refresh();
>> >> >
>> >> > Porém, não está funcionando, mas eu imagino que não esteja
>> funcionando,
>> >> > porque eu dei um new ListaContas. Correto?
>> >> > Você sabe me dizer, como tem que ser o gc.refresh(), lá no meu proxy,
>> >> > para
>> >> > que ele funcione na tela listaContas?
>> >> >
>> >> > Abraço,
>> >> > Danilo
>> >> > 2008/6/5 Marcelo Savioli <[EMAIL PROTECTED]>:
>> >> >>
>> >> >> Danilo,
>> >> >>
>> >> >> Você pode colocar o gc.refresh() no result do metódo que carrega
>> >> >> "categories".
>> >> >> Pode também adicionar um listener no seu dataProvider para saber
>> quando
>> >> >> foi alterada a collection.
>> >> >>
>> >> >> Se precisar de ajuda com isso é só mandar.
>> >> >>
>> >> >> 2008/6/5 Danilo <[EMAIL PROTECTED]>:
>> >> >>>
>> >> >>> Eu fiz o debug, e entendi o que você quis dizer. Só não consigo
>> fazer
>> >> >>> funcionar agora. Será que tem como você me dar uma força nessa
>> parte,
>> >> >>> novamente?
>> >> >>>
>> >> >>> 2008/6/5 Danilo <[EMAIL PROTECTED]>:
>> >> >>>>
>> >> >>>> Marcelo,
>> >> >>>> Até entendi o que você quis dizer, mas não entendi como fazer isso
>> >> >>>> funcionar no código. Talvez seja por ser novato no as3, talvez
>> seja
>> >> >>>> incompetência minha mesmo. Será que teria como você explicar
>> >> >>>> novamente?
>> >> >>>> Desculpa o incômodo.
>> >> >>>>
>> >> >>>> Abraço,
>> >> >>>> Danilo
>> >> >>>>
>> >> >>>> 2008/6/4 Marcelo Savioli <[EMAIL PROTECTED]>:
>> >> >>>>>
>> >> >>>>> Danilo,
>> >> >>>>>
>> >> >>>>> Apesar de estar no init da sua aplicação o retorno é assíncrono,
>> >> >>>>> portanto ocorre aquilo que falei..
>> >> >>>>> Você pode utilizar o debug para confirmar isso.
>> >> >>>>>
>> >> >>>>> Esta já seria a forma mais simples de agrupar dados no
>> >> >>>>> AdvancedDataGrid. Este componente é muito chato mesmo de se
>> >> >>>>> trabalhar, da
>> >> >>>>> para perceber claramente que ele não foi desenvolvido pela mesma
>> >> >>>>> equipe que
>> >> >>>>> desenvolveu o sdk.
>> >> >>>>>
>> >> >>>>> 2008/6/4 Danilo <[EMAIL PROTECTED]>:
>> >> >>>>>>
>> >> >>>>>> O meu serviço PHP, é chamado no init da aplicação. Essa é a
>> >> >>>>>> primeira
>> >> >>>>>> coisa a ser carregada. Na verdade, no GroupingCollection, eu
>> >> >>>>>> imagino que o
>> >> >>>>>> categories, esteja com seus dados, mesmo porque, se eu pegar
>> esse
>> >> >>>>>> mesmo
>> >> >>>>>> categories, e colocar diretamente no AdvancedDataGrid, como
>> >> >>>>>> dataProvider,
>> >> >>>>>> ele monta normalmente.
>> >> >>>>>>
>> >> >>>>>> Será que não seria algum problema com os dados retornados do
>> php?
>> >> >>>>>>
>> >> >>>>>> Você conhece uma maneira mais fácil, para montar o
>> >> >>>>>> AdvancedDataGrid?
>> >> >>>>>>
>> >> >>>>>> Abraço,
>> >> >>>>>> Danilo
>> >> >>>>>>
>> >> >>>>>> 2008/6/4 Marcelo Savioli <[EMAIL PROTECTED]>:
>> >> >>>>>>>
>> >> >>>>>>> Danilo,
>> >> >>>>>>>
>> >> >>>>>>> Pode não ser o seu caso, mas vamos tentar.
>> >> >>>>>>>
>> >> >>>>>>> Quando você faz:
>> >> >>>>>>>
>> >> >>>>>>>      <mx:dataProvider>
>> >> >>>>>>>         <mx:GroupingCollection id="gc" source="{categories}">
>> >> >>>>>>>             <mx:Grouping>
>> >> >>>>>>>                 <mx:GroupingField name="catA"/>
>> >> >>>>>>>                 <mx:GroupingField name="catB"/>
>> >> >>>>>>>                 <mx:GroupingField name="catC"/>
>> >> >>>>>>>                 <mx:GroupingField name="catD"/>
>> >> >>>>>>>             </mx:Grouping>
>> >> >>>>>>>         </mx:GroupingCollection>
>> >> >>>>>>>     </mx:dataProvider>
>> >> >>>>>>>
>> >> >>>>>>> Você esta dizendo que o dataProvider é uma GroupingCollection
>> >> >>>>>>> baseada
>> >> >>>>>>> em "categories". A principio, "categories" é vazio. Então a
>> >> >>>>>>> GroupingCollection passa uma coleção vazia para o dataProvider
>> do
>> >> >>>>>>> grid.
>> >> >>>>>>> Quando você chama seu serviço no PHP, "categories" é
>> atualizado,
>> >> >>>>>>> porém a GroupingCollection não monta automaticamente um novo
>> >> >>>>>>> dataprovider
>> >> >>>>>>> baseado nessa mudança.
>> >> >>>>>>> Por isso, ao chamar o refresh da GroupingCollection você estará
>> >> >>>>>>> fazendo com que a GroupingCollection monte novamente uma
>> coleção
>> >> >>>>>>> para servir
>> >> >>>>>>> de dataProvider ao grid.
>> >> >>>>>>>
>> >> >>>>>>> Portanto, sempre que modificar sua coleção é necessário
>> remontar o
>> >> >>>>>>> dataProvider do grid utilizando o "gc.refresh()".
>> >> >>>>>>>
>> >> >>>>>>> 2008/6/4 Danilo <[EMAIL PROTECTED]>:
>> >> >>>>>>>>
>> >> >>>>>>>> Marcelo,
>> >> >>>>>>>> Mas, eu acho que os dados já retornaram do php, visto que se
>> eu
>> >> >>>>>>>> uso
>> >> >>>>>>>> um dataprovider antes de dar um GroupingCollection, os dados
>> >> >>>>>>>> montam a grid
>> >> >>>>>>>> normalmente. Caso eu esteja equivocado, não entendi o que você
>> >> >>>>>>>> quis dizer,
>> >> >>>>>>>> ou como fazer o que você disse.
>> >> >>>>>>>>
>> >> >>>>>>>> Att,
>> >> >>>>>>>> Danilo
>> >> >>>>>>>>
>> >> >>>>>>>> 2008/6/3 Marcelo Savioli <[EMAIL PROTECTED]>:
>> >> >>>>>>>>>
>> >> >>>>>>>>> Danilo,
>> >> >>>>>>>>>
>> >> >>>>>>>>> Faz o "gc.refresh()" após os dados retornarem do php.
>> >> >>>>>>>>>
>> >> >>>>>>>>> 2008/6/3 Danilo <[EMAIL PROTECTED]>:
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> Olá pessoal,
>> >> >>>>>>>>>> Estou com um problema, para mostrar os dados que vêm do
>> amfphp
>> >> >>>>>>>>>> no
>> >> >>>>>>>>>> AdvancedDatagrid, agrupados.
>> >> >>>>>>>>>> Atualmente, estou retornando os objetos do amfphp em uma
>> array,
>> >> >>>>>>>>>> da
>> >> >>>>>>>>>> seguinte maneira:
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> $arrTree[$i]["catA"] = $r->catA;
>> >> >>>>>>>>>> $arrTree[$i]["catB"] = $r->catB;
>> >> >>>>>>>>>> $arrTree[$i]["catC"] = $r->catC;
>> >> >>>>>>>>>> $arrTree[$i]["catD"] = $r->catD;
>> >> >>>>>>>>>> $i++;
>> >> >>>>>>>>>>
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> E no final, retorno a array $arrTree.
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> Acontece, que se eu quiser listar em um Datagrid, funciona
>> >> >>>>>>>>>> perfeitamente!
>> >> >>>>>>>>>> Porém, gostaria de listar Hierarquicamente em um
>> >> >>>>>>>>>> AdvancedDatagrid,
>> >> >>>>>>>>>> juntamente com outros valores, mas não estou conseguindo
>> montar
>> >> >>>>>>>>>> o
>> >> >>>>>>>>>> agrupamento dos itens. Tentei da seguinte maneira:
>> >> >>>>>>>>>>
>> >> >>>>>>>>>>       <mx:dataProvider>
>> >> >>>>>>>>>>         <mx:GroupingCollection id="gc"
>> source="{categories}">
>> >> >>>>>>>>>>             <mx:Grouping>
>> >> >>>>>>>>>>                 <mx:GroupingField name="catA"/>
>> >> >>>>>>>>>>                 <mx:GroupingField name="catB"/>
>> >> >>>>>>>>>>                 <mx:GroupingField name="catC"/>
>> >> >>>>>>>>>>                 <mx:GroupingField name="catD"/>
>> >> >>>>>>>>>>             </mx:Grouping>
>> >> >>>>>>>>>>         </mx:GroupingCollection>
>> >> >>>>>>>>>>     </mx:dataProvider>
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> Seguindo alguns exemplos que encontrei na própria
>> documentação
>> >> >>>>>>>>>> da
>> >> >>>>>>>>>> adobe.
>> >> >>>>>>>>>> No evento creationComplete, eu tento chamar esse agrupamento
>> >> >>>>>>>>>> assim: creationComplete="{gc.refresh();}"
>> >> >>>>>>>>>> Mas não está funcionando.
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> Alguém sabe me dizer, onde pode estar ocorrendo o erro? Eu
>> sei
>> >> >>>>>>>>>> que
>> >> >>>>>>>>>> os dados de categories, estão chegando, tanto que se eu
>> >> >>>>>>>>>> utilizar um
>> >> >>>>>>>>>> dataProvider="{categories}" no AdvancedDataGrid, ele
>> funciona
>> >> >>>>>>>>>> normalmente,
>> >> >>>>>>>>>> porém, parece que não estou conseguindo tratar estes dados.
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> Será que alguém consegue me ajudar?
>> >> >>>>>>>>>>
>> >> >>>>>>>>>> Abraço,
>> >> >>>>>>>>>> Danilo
>> >> >>>>>>>>>>
>> >> >>>>>>>>>>
>> >> >>>>>>>>>
>> >> >>>>>>>>>
>> >> >>>>>>>>>
>> >> >>>>>>>>> --
>> >> >>>>>>>>> Marcelo Curi Savioli
>> >> >>>>>>>>> D-Click Web & Mobile Solutions
>> >> >>>>>>>>> [EMAIL PROTECTED]
>> >> >>>>>>>>> www.dclick.com.br/blog
>> >> >>>>>>>>> www.dclick.com.br
>> >> >>>>>>>>>
>> >> >>>>>>>>
>> >> >>>>>>>>
>> >> >>>>>>>>
>> >> >>>>>>>
>> >> >>>>>>>
>> >> >>>>>>>
>> >> >>>>>>> --
>> >> >>>>>>> Marcelo Curi Savioli
>> >> >>>>>>> D-Click Web & Mobile Solutions
>> >> >>>>>>> [EMAIL PROTECTED]
>> >> >>>>>>> www.dclick.com.br/blog
>> >> >>>>>>> www.dclick.com.br
>> >> >>>>>>>
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>
>> >> >>>>>
>> >> >>>>>
>> >> >>>>> --
>> >> >>>>> Marcelo Curi Savioli
>> >> >>>>> DClick Web & Mobile Solutions
>> >> >>>>> [EMAIL PROTECTED]
>> >> >>>>> www.dclick.com.br/blog
>> >> >>>>> www.dclick.com.br
>> >> >>>>>
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Marcelo Curi Savioli
>> >> >> DClick Web & Mobile Solutions
>> >> >> [EMAIL PROTECTED]
>> >> >> www.dclick.com.br/blog
>> >> >> www.dclick.com.br
>> >> >>
>> >> >
>> >> >
>> >> > >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Felipe - http://bobfernandes.wordpress.com
>> >>
>> >>
>> >
>> >
>> > >
>> >
>>
>>
>>
>> --
>> Felipe - http://bobfernandes.wordpress.com
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a