Pois Miguel o teu problema é estares a usar o 
modelo.OFgeral[posicao].propriedade="dados".

O que se passa é que esse tipo de alterações não fazem que o 
ArrayCollection faça o dispatch do evento CollectionChange. A melhor 
forma é mesmo como eu exemplifiquei,

 modelo.OFgeral.removeItemAt(posicao)
 modelo.OFgeral.addItemAt(posicao,null)
o metodo addItem provoca o dispatch do evento CollectionChange e tudo 
começa a funcionar.

o que tu chamaas de  "limpar" ou "atribuição"do ponto de vista do 
ArrayCollection é a mesma coisa, alteração em um item. Eu geralmente o 
que faço é no VO do FLEX tenho um campo que me indica se o item é para 
ser usado, visível, ou qualquer outra coisa, e faço a alteração a esse 
nivel, assim sempre posso ter filterFunctions associadas ao 
ArrayCollection e outras coisas mais :D

Abraços

Miguel Vaz escreveu:
>
> No meu modelo eu tenho:
>
> OFgeral:ArrayCollection = new ArrayCollection();
>
> Antes de fazer a chamada à base de dados, tenho uma rotina que corre o 
> OFgeral à procura de posições disponíveis (que se traduzem em janelas 
> abertas), onde irá colocar os resultados. Daí existir no command 
> apenas uma atribuição e não um addItem. O addItem só é feito uma vez, 
> antes da chamada à BD, se a posição estiver abtera, caso contrário 
> apenas limpo os dados nessa posição (modelo.OFgeral[posicao]=null) e 
> reinsiro o VO.
>
> Os meus binds, como no exemplo do text, são sempre 
> {modelo.OFgeral.getItemAt(posicao).propriedade}, para atribuições, 
> faço modelo.OFgeral[posicao].propriedade="dados".
>
> De qualquer forma, de momento não posso fazer nenhum teste, já que 
> estou em casa, mas amanhã vou analisar melhor a situação e deixo aqui 
> o que encontrar. Vou rever melhor o código e ver se existe alguma 
> coisa que me está a escapar, já que o projecto começa a ganhar uma 
> dimensão considerável.
>
> Agradeço imenso o tempo e a paciência que estão todos a ter. Aprecio o 
> esforço, já que isto dos VOs é mais uma lacuna nos meus conhecimentos. 
> Lacuna de um assunto que considero bastante importante para uma 
> eficiente gestão/organização de transmissão de dados.
>
> Quem sabe daqui a uns meses vos dou um assunto interessante para uma 
> eventual apresentação num dos eventos. ;-) O projecto que estou a 
> desenvolver é algo um pouco à margem do habitual em projectos de flex, 
> e poderá ser interessante como case study para mostrar algumas 
> utilizações menos vistas com flex.
>
> MV
>
>
>
>
>
> 2009/4/22 Nuno Fernandes <[email protected] 
> <mailto:[email protected]>>
>
>
>     Bom tenho que vazar, mas aqui fica a info
>
>       1. o OFgeral _*TEM*_ que ser do tipo ArrayCollection, se for um
>          Array, não há bandings
>       2. para "mexeres" num ArrayCollection não usamos a mesma técnica do
>          Array [index],  usamos  os metodos getItemAt(index),
>          addItemAt(index) e removeItemAt(index) por exemplo
>
>     Se o OFgeral for um ArrayCollection nas labels só tens que colocar:
>
>     text="{modelo.OFgeral.getItemat(1).num_of}"
>
>     mas na function result isto :
>
>     modelo.OFgeral[posicao]= tempor;
>
>     deve ser substituido por
>
>     modelo.OFgeral.addItemAt(posicao, tempor);
>
>     Mas le a DOC sobre esses métodos, porque no caso do addItemAt se nesse
>     index já existir algo, esse conteudo passa para o index a seguir e
>     assim
>     sucessivamente, se quiseres alterar o conteudo de um index no
>     ArrayCollection o que deves fazer é primeiro removes e depois
>     adicionas.
>
>     Abraços
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a