atualização de componentes (Swiz)

1 view
Skip to first unread message

Leonardo Ribeiro

unread,
Feb 7, 2012, 11:42:39 AM2/7/12
to fle...@googlegroups.com
Pessoal,

Tenho uma tela em Flex e utilizo o Swiz.
No meu Presenter tenho um método que atualiza valores de certos componentes da tela conforme pequeno trecho abaixo

view.rbPeriodoContinuoDiaSemana.selected = true;
view.dcPeriodoSemanaIni.selectedDate = meuObj.dataInicialVenda;
view.dcPeriodoSemanaFim.selectedDate =  meuObj .dataFimVenda;
view.chkSegunda.selected =  meuObj .segunda;
view.chkTerca.selected =  meuObj .terca;
view.chkQuarta.selected =  meuObj .quarta;
view.chkQuinta.selected = meuObj .quinta;
view.chkSexta.selected =  meuObj .sexta;
view.chkSabado.selected = meuObj .sabado;

O RadioButton e os DateChooser funcionam, ou seja, os valores aparecem na tela perfeitamente, porém os
CheckBox mesmos os valores sendo "true" aparecem NÃO marcados.

Alguém saberia o motivo?

-- 
[]'s
Leonardo

Linux User #488650
Ubuntu User #27045
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Tonussi Eric

unread,
Feb 7, 2012, 11:47:24 AM2/7/12
to fle...@googlegroups.com
Confira se não estão vindo como String no lugar de Boolean. Tente o seguinte:

view.rbPeriodoContinuoDiaSemana.selected = true;
view.dcPeriodoSemanaIni.selectedDate = meuObj.dataInicialVenda;
view.dcPeriodoSemanaFim.selectedDate =  meuObj .dataFimVenda;
view.chkSegunda.selected =  meuObj .segunda == 'true';
view.chkTerca.selected =  meuObj .terca == 'true';
view.chkQuarta.selected =  meuObj .quarta == 'true';
view.chkQuinta.selected = meuObj .quinta == 'true';
view.chkSexta.selected =  meuObj .sexta == 'true';
view.chkSabado.selected = meuObj .sabado == 'true';

--
@Tonussi
tonussi.com


--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para fle...@googlegroups.com
Para sair da lista, envie um email em branco para flexdev-u...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Fredy Gadotti

unread,
Feb 7, 2012, 11:48:51 AM2/7/12
to fle...@googlegroups.com
Verifica se o seu meuObj.segunda, meuObj.terca e por ai vai não está com um valor String "true" que é diferente de "true" Boolean.

2012/2/7 Leonardo Ribeiro <leojr...@gmail.com>

--

Leonardo Ribeiro

unread,
Feb 7, 2012, 11:55:02 AM2/7/12
to fle...@googlegroups.com
Vem boolean.
Esse meuObj é uma classe que é mapeada de uma classe Java

[Bindable]
[RemoteClass(alias="caminho.pacote.MeuObj")]
public class MeuObj
{
public var dataHora:Date;
public var cliente:Cliente;
public var usuario:Usuario;
public var tipo:String;
public var dataInicialVenda:Date;
public var dataFimVenda:Date;
public var segunda:Boolean;
public var terca:Boolean;
public var quarta:Boolean;
public var quinta:Boolean;
public var sexta:Boolean;
public var sabado:Boolean;
     }

2012/2/7 Fredy Gadotti <fredy....@gmail.com>

Leonardo Ribeiro

unread,
Feb 7, 2012, 11:56:20 AM2/7/12
to fle...@googlegroups.com
fiz um teste forçando true

view.chkTerca.selected = true;

e nada tbm

2012/2/7 Leonardo Ribeiro <leojr...@gmail.com>

Fredy Gadotti

unread,
Feb 7, 2012, 12:01:55 PM2/7/12
to fle...@googlegroups.com
Tenta dar um invalidadeProperties e um invalidateDisplayList no seu componente para ver se o valor atualiza a tela.

2012/2/7 Leonardo Ribeiro <leojr...@gmail.com>

Leonardo Ribeiro

unread,
Feb 7, 2012, 12:10:04 PM2/7/12
to fle...@googlegroups.com
Tentei as duas abordagens e nada...pior é que debugando o componente eu vejo que a propriedade 'selected' dele está true



2012/2/7 Fredy Gadotti <fredy....@gmail.com>

Tonussi Eric

unread,
Feb 7, 2012, 12:10:21 PM2/7/12
to fle...@googlegroups.com
Faz o seguinte, usa o DataBind.

<s:CheckBox id="{chkSabado}" selected="{meuObj.sabado}" />

E tira as linhas que você enviou, e passe somente a var meuObj para a view.

--
@Tonussi
tonussi.com

Fredy Gadotti

unread,
Feb 7, 2012, 12:12:30 PM2/7/12
to fle...@googlegroups.com
Só não esquece de deixar ai o meuObj com a metadata de Bindable.

2012/2/7 Tonussi Eric <erict...@gmail.com>

Leonardo Ribeiro

unread,
Feb 7, 2012, 12:23:20 PM2/7/12
to fle...@googlegroups.com
Nem assim....

2012/2/7 Fredy Gadotti <fredy....@gmail.com>

Leonardo Ribeiro

unread,
Feb 7, 2012, 12:25:42 PM2/7/12
to fle...@googlegroups.com
Esses componentes (checkbox) estão dentro de um TileGroup, não sei se isso teria alguma coisa a ver

2012/2/7 Leonardo Ribeiro <leojr...@gmail.com>

Fernando Noronha

unread,
Feb 7, 2012, 12:26:53 PM2/7/12
to fle...@googlegroups.com
Se nada funciona, acabo apelando para a bruxaria do setTimeout, reatribui com alguns mili segundos de delay #POG

--
Fernando Noronha
Fernando Noronha
Cel.: +55 11 9370 4809
Cel: +55 12 9164 6564
Msn: feno...@hotmail.com
Skype ID: fenoronha

Tonussi Eric

unread,
Feb 7, 2012, 12:34:15 PM2/7/12
to fle...@googlegroups.com
Faz um teste: coloque na tela um Label assim:

<s:Label text="{meuObj.sabado}" />

Coloque no mesmo lugar que está seus checkbox.

--
@Tonussi
tonussi.com

Leonardo Ribeiro

unread,
Feb 7, 2012, 12:46:54 PM2/7/12
to fle...@googlegroups.com
Aparece 

true

Tonussi Eric

unread,
Feb 7, 2012, 1:06:25 PM2/7/12
to fle...@googlegroups.com
Então chama o exorcista, porque só pode ser coisa do demo hehehe

--
@Tonussi
tonussi.com

Leonardo Ribeiro

unread,
Feb 7, 2012, 1:08:30 PM2/7/12
to fle...@googlegroups.com
pois é cara que sinistro...já estou nisso mais de hora e nada...certas coisas realmente não da pra entender

mas valeu a força


2012/2/7 Tonussi Eric <erict...@gmail.com>

Fernando Noronha

unread,
Feb 7, 2012, 1:08:58 PM2/7/12
to fle...@googlegroups.com
Por isso que falei para usar a bruxaria do setTimeout =D

--
Fernando Noronha

Danilo Suares

unread,
Feb 7, 2012, 1:15:46 PM2/7/12
to fle...@googlegroups.com
Pode ter a ver com o fato de estar dentro do tileGroup sim, não sei explicar exatamente o porquê, mas deve ter a ver com o mesmo cache do scroll. Tenta fazer um teste colocando o check box fora.

abs,

Danilo
Danilo Suares
celular:  +55 11 7389-6831
skype/msn/gtalk: dan...@clic4biz.com
twitter: @danilosuares  

Esta mensagem pode conter informacao confidencial e/ou privilegiada. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informacoes nela contidas ou tomar qualquer acao baseada nessas informacoes. Se voce recebeu esta mensagem por engano, por favor avise imediatamente o remetente, respondendo o e-mail e em seguida apague-o. Agradecemos sua cooperacao.

This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation.


Bruno Tourinho

unread,
Feb 7, 2012, 2:23:27 PM2/7/12
to fle...@googlegroups.com
Só por desencargo de consciência... coloca o true sem aspas... assim:

tralálá.trolóló = true

2012/2/7 Danilo Suares <dan...@clic4biz.com>
Reply all
Reply to author
Forward
0 new messages