Obrigado pelas dicas, Fábio!

Pelo jeito, o problema era esse mesmo ... mas veja só: eu coloquei (
(meuXML.meuatributo
is Boolean).toString() ) num Alert, e ele mostrou false - o que confirma a
sua hipótese de que ele não estava vindo como Boolean, mas como String.
Então eu fiz o teste (ainda com o Alert) com o seguinte: (
(Boolean(meuXML.meuatributo)
is Boolean).toString() ) - fiz um cast antes de comparar - e retornou true!

Porém, quando eu coloquei meuCheckBox.selected = Boolean(meuXML.meuatributo),
ele continuou marcando todos os checkboxes, independente do valor de
meuatributo ... me lembrei que eu já tinha feito isso antes de postar essa
msg, mas esqueci de comentar ...

Foi isso que achei estranho: o cast funciona na comparação que eu citei no
início da msg, mas na hora de atribuir o valor ao CheckBox, não ... :-/

De qualquer forma, obrigado pelas sugestões!

Elvis Fernandes


2008/4/24 Fabio Goll <[EMAIL PROTECTED]>:

>  Tenta fazer um if(meuXML.meuatributo is Boolean) pra ver se está vindo
> como boolean ou coloque um breakpoint na linha e roda
> em modo Debug.
>
> Eu acredito que não esteja vindo como Boolean e quando você compara, ele dá
> um type cast para Boolean.
>
> Se estiver como String e ela for != null, meuXML.meuatributo vai ser true,
> talvez por isso o checkbox fica selecionado.
>
> []
> Fábio
>
>  ------------------------------
> *De:* flexdev@googlegroups.com [mailto:[EMAIL PROTECTED] *Em nome
> de *Elvis Fernandes
> *Enviada em:* quinta-feira, 24 de abril de 2008 08:58
> *Para:* flexdev@googlegroups.com
> *Assunto:* [flexdev] Do XML para o CheckBox - comportamento estranho
>
> Bom dia, pessoal!
>
> Gostaria de tirar uma dúvida e pedir a opinião de vocês sobre um problema
> que eu tive aqui ... o problema foi resolvido, mas a situação foi um pouco
> estranha ... vejam:
>
> Minha aplicação recebe um XML e um dos atributos recebidos eu atribuo a um
> CheckBox. Mais ou menos assim:
>
> meuCheckBox.selected = meuXML.meuatributo;
>
> O problema era que os checkboxes sempre ficavam selecionados, independente
> do valor de meuXML.atributo.
>
> Resolvi ver o que vinha nos atributos do XML (que é um resultado de uma
> consulta ao BD). O XML recebido tem o atributo definido assim:
>
> (...)
> <meuatributo type="boolean">false</meuatributo>
> (...)
>
> Ao colocar esse valor em um alert, ele mostrava corretamente true ou false,
> conforme esperado ...
>
> Mas o problema continuava. Pra resolver, eu tive que fazer uma verificação,
> assim:
>
> meuCheckBox.selected = meuXML.meuatributo == true;
>
> E passou a dar certo!
>
> Ora ... a expressão é lógica, mas não tem sentido: se meuXML.meuatributojá é 
> igual a true ou false, porquê eu preciso verificar se ele realmente é
> igual a true e atribuir o resultado da comparação à propriedade selected do
> checkbox pra poder funcionar? Lembrando que mesmo que meuatributo fosse
> igual a false no arquivo XML, antes ele marcava o checkbox como
> selecionado ...
>
> Fiquei intrigado com isso ... alguém tem algum palpite sobre o que
> aconteceu?
>
> Abraço!
>
> Elvis Fernandes
> www.elvis.eti.br
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Reply via email to