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
Miguel Vaz escreveu:
>
> Consegui resolver o problema, ou pelo menos aparentemente já que
> obtenho warnings nos binds:
>
> class vo em PHP:
>
> <?php
> class getOFgeralVO
> {
> var $num_of;
> var $info_ofantiga;
>
> ...
> ...
>
> var $_explicitType = "vo.getOFgeralVO"; // <-- path para o vo
> }
> ?>
>
> class vo no flex:
>
> package vo
> {
> import com.adobe.cairngorm.vo.ValueObject;
>
>
> [RemoteClass(alias="vo.getOFgeralVO")]
> [Bindable]
> public class getOFgeralVO implements ValueObject {
>
>
> public var num_of:Number;
> public var info_ofantiga:Number;
>
> ...
> ...
>
>
> }
>
>
> no command:
>
> public function result( event:Object ):void{
>
>
> var tempor:getOFgeralVO = new getOFgeralVO();
>
> tempor = event.result;
>
> var posicao:Number = event.result.posicao;
>
> modelo.OFgeral[posicao]= tempor;
>
>
> }
>
> Tudo muito bonito até aqui. ALgures na aplicação tenho labels e
> components com, por exemplo, text="{modelo.OFgeral[1].num_of}", o que
> funciona perfeitamente como bind, até mesmo se o alterar
> programaticamente. Mas se fizer debug, recebo warnings do tipo:
>
> warning: unable to bind to property 'np_comp' on class 'Array' (class
> is not an IEventDispatcher)
> warning: unable to bind to property 'comprimento' on class 'Array'
> (class is not an IEventDispatcher)
>
> (estas propriedades estão nos VOs, tanto em php como em flex, apenas
> não as transcrevi para poupar espaço)
>
> Porque acontece isto?
>
> Obrigado.
>
> MV
>
>
> 2009/4/22 João Fernandes <[email protected]
> <mailto:[email protected]>>
>
>
> Miguel, esse problema é devido ao facto do que é enviado para o
> flex não
> vir marcado como sendo desse tipo. Não sei como se faz em PHP mas
> certamente terás de referênciar de alguma forma essa metadata. Em
> CF por
> exemplo, se não usarmos os componentes podemos devolver structs
> com uma
> propriedade __type__ que vai servir de metadata para conseguir
> isso. Em
> PHP será algo similar.
> --
>
> João Fernandes
>
> Adobe Certified Expert
> Adobe Community Expert
> http://www.onflexwithcf.org
> http://www.riapt.org
> Portugal Adobe User Group (http://aug.riapt.org)
>
>
>
>
>
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---