Vou tentar explicar meu problema. Tenho duas classes, Usuario e Papel. A classe Usuario tem dois atributos, “nome” e “children” (array de papeis); a classe Papel tem também um atributo “nome” e um “children” (array de usuários).
No modelo da minha aplicação tenho dois ArrayCollection, um com a lista de usuários e outro com a lista de papéis. Em determinado ponto do sistema, tenho uma Tree, em que o dataProvider é hora o ArrayCollection de usuários (visualização por usuários) e hora o ArrayCollection de papéis (visualização por papéis). O labelField dessa Tree é “nome”, que é comum ao objeto Usuario e a ao Papel (não precisando ser alterado quando mudo o dataProvider). Estando na visão por usuários, o segundo nível da árvore mostrará seus papéis (que estão dentro do array “children” presente em cada objeto Usuario). Estando na visão por papéis, o segundo nível da árvore mostrará seus usuários (que estão dentro do array “children” presente em cada objeto Papel). Até ai tudo bem, funciona perfeitamente. O problema é que eu não consigo parar no segundo nível da Tree e a aplciação entra em looping infinito ao tentar apresentar os dados da Tree com essa estratégia. Por exemplo, na situação da visão por usuários, o segundo nível da árvore mostrará seus papéis (que estão dentro do array “children” presente em cada objeto Usuario), mas cada papel mostrará também seus usuários (que estão dentro do array “children” presente em cada objeto Papel), que por sua vez mostrarão seus papéis.... e assim por diante. E aí, como eu poderia fazer para evitar isso? Pensei em duas estratégias, mas não sei se é possível fazer e não encontrei nada pesquisando no Google: a) Existe alguma forma de fazer com que a Tree use o dataprovider somente até o segundo nível (por exemplo, na visão de usuários, mostraria somente os usuários e seus papéis, sem utilizar o children dos objetos papéis)? b) Ou existe alguma forma de usar hierarquia de um dataProvider de ArrayCollection sem ter que chamar o atributo do objeto pai de “children”? Se der (que eu saiba não dá), seria só eu chamar o array de papéis de “papeis” no objeto Usuario e o de usuários de “usuarios” no objeto Papel e passar essa informação de alguma forma pra Tree (que ao invés deutilziar o atributo "children" pra fazer a hierarquia, utilizaria um atributo com o nome informado) – daí o dataprovider não entraria em recursão por causa do atributo “children” que estava presente nos dois objetos. Deu pra entender alguam coisa, ou ficou confusa a minha explciação? Alguéms abe se tem como fazer uam das duas cosias, ous e tem ainda outra maneira de fazer isso? Obs.: Não quero utilizar XML (que já resolveria o problema). []s Fernando --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] 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 -~----------~----~----~----~------~----~------~--~---
