ok, como é que eu defino a propriedade children? No meu mxml só tenho kual o dataProvider da Tree, mas esse dataProvider é um ArrayCollection de Objects, e cada um desses Objects, que corresponde a uma categoria, tem um ArrayCollection la dentro para definir os items dessa categoria. eu chamo as categorias prinicpais, numa funçao que inicializa o estado onde essa tree está colocada. Devo definir a propriedade children nessa função de inicialização?
On 19 Maio, 12:47, João Coelho <[email protected]> wrote: > Se não estou em erro a Tree só apresenta subnodes se estes estiverem dentro > de uma propriedade de nome 'children', não me recordo se é possível indicar > outro campo como contendo os sub-elementos só verificando a documentação. > Em relação ao ícone tem a ver com o mesmo problema, só te apresentará a > pasta se o elemento tiver a tal propriedade children. > > João Coelho > Interactive Developer > [email protected] > ................................................................. > > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > > Rui > Sent: terça-feira, 19 de Maio de 2009 12:30 > To: Mailing List da Comunidade Portuguesa de Rich Internet Applications > -www.riapt.org > Subject: [riapt] Visualização de nós e de leafs numa Tree em Flex > > Boas pessoal! > > Eu estou a tentar guardar objectos do Tipo Categoria numa Tree em > Flex. cada Categoria tem os atrbutos nome(mostrado no ramo principal > da Tree) um identificador e um ArrayCollection items, com Objectos que > tambem têm nome e id. A minha estrutura principal, mainCats está > declarada assim: > > [Bindable] > private var mainCats:ArrayCollection; > > e é chamada como dataProvider na Tree que eu crio assim: > > <mx:Tree > x="28" > y="82" > id="mainCatTree" > width="193.5" > height="294" > dataProvider = "{mainCats}" > labelFunction = "mainCatLabel" > itemClick = "getCatItems(event)"/> > > eu quero fazer com que, ao clicar no nome de uma categoria, esse nó da > tree expanda e mostre os nomes de todos os items dessa categoria, mas > não estou a conseguir. Eu chamo as categorias por uma handler para uma > base de dados em SQL. Os items de uma categoria são chamados de forma > semelhante: > > public function showCatItems(event:ResultEvent):void{ > var temp:ArrayCollection = new ArrayCollection > (event.message.body.toString().split(',')); > var mainIndex:int = > temp.getItemAt(0).toString().substring(0, > temp.getItemAt(0).toString().lastIndexOf(';',temp.length)); > var currItems:ArrayCollection = new ArrayCollection() > var o:Object = mainCats.getItemAt(mainIndex); > for(var i:int = 1; i != temp.length; i++){ > var id:String = > temp.getItemAt(i).toString().substring(0, > temp.getItemAt(i).toString().lastIndexOf(';',temp.length)); > var itemName:String = > temp.getItemAt(i).toString().substring > (id.length+1,temp.getItemAt(i).toString().length); > var item:Object = new Object(); > item.ident = id; > item.name = itemName; > currItems.addItem(item); > } > o.items = currItems; > for(var j:int = 0; j != o.items.length; j++){ > Alert.show(o.items.getItemAt(j).name); > } > } > > Não liguem as substrings, estou a fazer isso porque a lista que recebo > do java é uma lista de Pares, em que cada par tem <id, nome>. Estou a > partir a string para guardar o id e o nome em variaveis distintas. > Akele for final é apenas para testar que os nomes dos items da > categoria que eu chamo estão a ser guardados corectamente, e estão de > facto. Agora, visualmente, como é que eu mostro os items na árvore? Os > nomes das categorias principais estão a aparecer na árvore mas com o > ícone de uma folha em branco, e não como uma pasta... como é que eu > altero isso? > > Desde já obrigado pela paciência por ler um post tão comprido :P > Rui > > No virus found in this incoming message. > Checked by AVG -www.avg.com > Version: 8.5.339 / Virus Database: 270.12.32/2119 - Release Date: 05/19/09 > 06:21:00- Ocultar texto citado - > > - Mostrar texto citado - --~--~---------~--~----~------------~-------~--~----~ Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google. Para enviar mensagens para este grupo, envie um email para [email protected] Para anular a inscrição neste grupo, envie um email para [email protected] Para mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT -~----------~----~----~----~------~----~------~--~---
