Bom dia galera do guj!
Sou iniciante na tecnologia flex, a qual utilizo juntamente com o java. Em meus estudos, vi que existem duas (nao sei se tem mais) maneiras de popular um elemento flex: com XML interno e externo.
Meu problema é o seguinte: tenhu um banco que guarda as opçoes do menu que cada usuario pode acessar. Sendo assim eu teria que ler o banco as opçoes para poder montar o menu! Mas o unico jeito que consegui fazer isso foi criando um arquivo XML externo, e carregando pelo DataProvider da tree. Só que essa operação é cara e não ficara legal para um sistema com varios usuarios!
Gostaria de saber se alguem sabe uma maneira mais facil de resolver esse problema!
A tabela possui 4 colunas (aplicação, modulo, rotina e URL [que é a pagina que ele vai abrir quando clicado]). A leitura do banco ta bacana! Só falta carrega na tree mesmo!
Alguma ideia ou exemplo??
=D
Obrigado e abraços!
Cara, o problema é que os dados vindos do banco são Flat’s (linha a linha), e o Tree, como o nome já diz é uma estrutura em árvore.
O que você tem que fazer é transformar essa estrutura Flat em Árvore, o que é bem chato de fazer. Porque você não usa um AdvancedDataGrid e agrupa esses dados? É mais fácil. Mas se quiser/precisar realmente utilizar Tree, tente ver se a classe HierarchicalData não resolve o seu problema, pois o objetivo dela é exatamente esse ai - transformar uma collection em uma estrutura hierarquica de dados.
Ola amigo!
Obrigado pela resposta, mas ja consegui resolver meu problema… Fiz da seguinte forma: construi minha estrutura de um XML dentro de uma String no java. Retornei essa String pro flex e passei ela como parametro para o construtor de uma variavel XML.
Algo como assim:
public String retornaXML(){
//Consulta do banco....
String ret = "<root> <node label = 'Dados do banco' /> </root>
return ret;
Ai no flex ficou assim:
public function populaTree(event:ResultEvent):void{
var tree:XML = new XML (event.result as String);
}
Ai e so setar a variavel XML ‘tree’ como dataProvider do menu…
Funfou de boa!! 
Obrigado!
[]'s
É, transformar os resultados vindos do banco em XML é uma opção… mas é bem chato de fazer isso se você tiver muitas situações como essa. Mas se for apenas neste caso, tá de boa :)
Depois de transformar em XML, no FLex é ‘mamão com açucar’ pra trabalhar com XML.