Apenas para constar, àqueles que acompanharam minha dúvida desde ontem.
Consegui resolver o problema.
Apenas no campo TextInput adicionei no evento valueCommit a seguinte ação:
textInput.executeBindings()
Abraços,
Obrigado a Beck Novaes e a Tiago Ribeiro que tentaram me ajudar.
Marcos Paulo.
Marcos Paulo Marques Correa escreveu:
> Sim, é basicamente isso...
> Mas apenas pra ficar mais simples o exemplo, deixe o back end e a view
> pra lá...
>
> O problema está apenas na comunicação Controle <-> VO.
>
> Bom, vamos a um exemplo prático
>
> ValueObject:
>
> [Bindable]
> [RemoteClass(alias="ValueObjectVO")]
> public class ValueObject
> {
> private var valor:String;
>
> public function set Valor(value:String):void
> {
> var formatter:NumberFormatter = new NumberFormatter();
> formatter.precision = 3;
> formatter.decimalSeparatorFrom = ",";
> formatter.decimalSeparatorTo = ".";
> formatter.thousandsSeparatorFrom = ".";
> formatter.thousandsSeparatorTo = ",";
>
> valor = formatter.format(value);
> }
>
> public function get Valor():String
> {
> var formatter:NumberFormatter = new NumberFormatter();
> formatter.precision = 3;
> formatter.decimalSeparatorFrom = ".";
> formatter.decimalSeparatorTo = ",";
> formatter.thousandsSeparatorFrom = ",";
> formatter.thousandsSeparatorFrom = ".";
>
> return formatter.format(valor);
> }
> }
>
>
> MXML:
>
> <mx:Script>
> <![CDATA[
> import lanconsulting.valueobjects.ValueObject;
>
> [Bindable]
> private var vo:ValueObject = new ValueObject;
> ]]>
> </mx:Script>
>
> <mx:Binding source="textInput.text" destination="vo.Valor" />
>
> <mx:TextInput id="textInput" text="{vo.Valor}" />
>
>
> Se eu debuggar, dentro do Setter ou dentro do Getter, eles são
> chamados corretamente, e os valores são setados ou retornados
> corretamente, porém, o valor não é mostrado formatado no textInput...
>
> Será que esta forma de formatar um campo é impossível?!
>
> Abraços.
>
>
> ----- Mensagem original ----
> De: Tiago Ribeiro <[EMAIL PROTECTED]>
> Para: [email protected]
> Enviadas: Terça-feira, 16 de Setembro de 2008 11:54:48
> Assunto: [flexdev] Res: [flexdev] Res: [flexdev] Re: Dificuldades com
> Binding utilizando Setter e Getter
>
> Marcos to pegando a conversa..
> So pra entender..
>
> Entao funciona assim...
>
> Back end -> controle -> VO Object -> View ??
>
> O controle conversa com o back end, e fala pra controle.. e a controle
> responde pra VO OBject.. certo.. e a VO object so reflete na view certo??
> So pra ficar claro pra mim...
>
> (Desculpa parecer pergunta iniciante.. mais so pra mim ter esta certeza)
> Obrigado.
>
> =====================================
> Tiago G. Ribeiro.
> Desenvolvedor Web.
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> [EMAIL PROTECTED]
> =====================================
>
>
> ----- Mensagem original ----
> De: Marcos Paulo Marques Corrÿffffeaa <[EMAIL PROTECTED]>
> Para: [email protected]
> Enviadas: Terça-feira, 16 de Setembro de 2008 11:29:50
> Assunto: [flexdev] Res: [flexdev] Re: Dificuldades com Binding
> utilizando Setter e Getter
>
> A Classe é um ValueObject e já está setada como [Bindable]
>
> Mesmoa assim o getter nessecita do [Bindable] tbm?
>
> Obrigado.
>
> ----- Mensagem original ----
> De: Beck Novaes <[EMAIL PROTECTED]>
> Para: flexdev <[email protected]>
> Enviadas: Terça-feira, 16 de Setembro de 2008 9:00:58
> Assunto: [flexdev] Re: Dificuldades com Binding utilizando Setter e Getter
>
>
> vc fez assim?
>
> private _myProp:String;
>
> [Bindable]
>
> public function get myPrip():String
> {
> return _myProp;
> }
>
> public function set myProp(value:String):void
> {
> _myProp = value;
> }
>
> Observe o [Bindable] antes do getter.
>
> []'s
> Beck Novaes
>
>
>
>
> On Sep 16, 12:17 am, Marcos Paulo <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
> > Olá a Todos,
> >
> > Estou com uma pequena dificuldade utilizando binding e métodos setter e
> > getter.
> >
> > Para simplificar, vou colocar um exemplo bem simples.
> > Tenho uma classe que possui um campo de valor.
> >
> > No método setter deste campo, eu converto o valor, utilizando um
> > NumberFormatter do formato brasileiro para o americano, para deixar o
> > formato americano setado no objeto.
> > E no método getter faço exatamente o inverso, para mostrar o valor em
> > formato brasileiro para o usuário.
> >
> > No meu MXML coloquei uma tag Binding como source, o text do meu
> > textInput e como destination o meu método setter.
> > E no meu textInput coloquei a propriedade Text como Binding do método
> > getter.
> >
> > Porém, o getter não quer funcionar de jeito nenhum. Eu digito o valor no
> > campo, e ele nao fica formatado de forma alguma.
> > Já debuguei e o getter é chamado e até retorna o valor correto, mas não
> > está indo para o textInput
> >
> > Alguém tem alguma idéia?!
> >
> > Se não tiver sido claro, envio alguns códigos fontes como exemplo..
> >
> > Obrigado pela atenção.
> > Abraço a Todos.
> ------------------------------------------------------------------------
> Novos endereços, o Yahoo! que você conhece. Crie um email novo
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.new.mail.yahoo.com/addresses>
>
> com a sua cara @ymail.com ou @rocketmail.com.
> ------------------------------------------------------------------------
> Novos endereços, o Yahoo! que você conhece. Crie um email novo
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.new.mail.yahoo.com/addresses>
>
> com a sua cara @ymail.com ou @rocketmail.com.
>
>
> ------------------------------------------------------------------------
> Novos endereços, o Yahoo! que você conhece. Crie um email novo
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.new.mail.yahoo.com/addresses>
>
> com a sua cara @ymail.com ou @rocketmail.com.
> >
>
> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 3443 (20080915) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---