Não é necessário você usar arrays como dataProvider do tree... eu já
usei uma vez um objeto construído por mim... que recebia através do
servidor...
imagine que uma árvore é composta por uma raíz... que contém filhos...
que podem ser folhas ou ter outros filhos...

A aplicação que construí utilizava essa estrutura para apresentar uma
árvore de relatórios... um Menu representava um filho que poderia ter
relatórios...
e um relatório era uma folha da árvore que tinha obrigatóriamente um
pai que era um menu... isso é uma estrutura de nós... inicialmente só
era necessário
que eu carregasse a raíz (o menu principal) e conforme fosse abrindo
os menus... eram carregados os itens daquele nó em específico...

não tenho mais como acessar o código até por que eu ainda estava
trabalhando em outra empresa... mas é essa a idéia básica... não era
necessário utilizar xml... nem arrays... e tudo ficava eficiente...
sem consumir muita memória por que somente os nós que interessavam
estavam carregados...

On Jun 30, 2:49 pm, Bruno Carneiro <guimaraescarne...@gmail.com>
wrote:
> Bem... não sei... fiz a melhor escolha de acordo com o que sei.
>
> Entendi que não é aceito modificar o this. Porque será? Enfim... é uma
> dúvida secundária.
>
> Porque ser um array e não ter um array?
> Porque o TREE trabalha com um array. Se eu tivesse um Array não
> poderia passar o meu objeto diretamente como dataprovider do TREE eu
> teria que passar a propriedade do objeto. O que a princípio me pareceu
> estranho. Mas talvez nem seja tanto... talvez seja essa a melhor
> saída.
>
> Porque não utlizar uma estrutura de nós?
> O que seria exatamente uma estrutura de nós? Eu sabia que poderia usar
> Array ou XMLList. Como os dados vem do PHP e o PHP é bom para
> trabalhar com arrays e eu sei usar melhor arrays eu decidi usar
> arrays. Usando um array de objetos também tem a vantagem ( estou
> enganado? ) de que cada objeto tem seus métodos. Isso facilita minha
> vida. Acho que com XML isso não seria possível. Estou usando e
> abusando da recursividade para manipular a lista, faço isso pq é uma
> árvore de objetos do mesmo tipo. Quando aplico um metodo em um objeto,
> se for conveniente, ele repassa pra todos seus filhos... e assim
> sucessivamente.
>
> Talvez seja uma boa oportunidade para aprender E4X. Que eu não domino.
>
> Obrigado pela atenção!
>
> On 30 jun, 09:57, "Marcelo Emanoel B. Diniz"
>
>
>
> <marceloeman...@gmail.com> wrote:
> > O problema ao meu ver é que você está alterando a referência "this" e
> > isso é que não é aceito... não seria mais fácil você TER um Array em
> > vez de SER um array? ou melhor ainda... já que o que você quer é uma
> > árvore... por que não utilizar uma estrutura de nós?
>
> > On Jun 30, 8:44 am, Bruno Carneiro <guimaraescarne...@gmail.com>
> > wrote:
>
> > > Desculpe se a dúvida for muito simples, eu realmente estou com essa
> > > dificuldade.
>
> > > No meu projeto, preciso usar uma árvore. Para visualizar eu uso um
> > > TREE e como dataprovider um array de objetos com a propriedade
> > > children.
>
> > > Para quem não conhece, o componente TREE identifica esse array de
> > > objetos e cria a árvore a partir da propriedade children dos objetos,
> > > que nada mais é do que um array de filhos.
>
> > > Naturalmente, tenho um conjunto de métodos para trabalhar com minha
> > > árvore que preciso implementar. Daí a primeira idéia que me veio foi:
>
> > > Extender a classe Array e adicionar os meu métodos.
>
> > > No entanto, essa abordagem não é possível pois nos meus métodos,
> > > eventualmente, o Array precisa se modificar, por exemplo nesse comando
>
> > > //remover o item no indice "i"
> > > this = this.slice(0,i).concat(this.slice(i+1,this.length));
>
> > > Eu recebo um erro nesse comando quando ele está dentro do contexto de
> > > uma classe. Talvez seja um problema de auto-referencia. No momento não
> > > me recordo.
>
> > > Alguém poderia me falar um pouco sobre esse problema? Porque eu não
> > > posso usar aquele comando em uma classe? Como eu faço para modularizar
> > > meu código e mante-lo reutilizável neste caso?

-- 
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 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a