Indeed, você não pode manipular qualquer componente que esteja em outro state, porque eles ainda não foram criados.
Para manipular isso, utilize a função callLater(function(){}) logo após mudar o
state ou o evento enterState.
O callLater faz com q o delegate anônimo seja executado no próximo quadro,
quando o novo state estará disponível.
From: Collin Peterson Mendes Chaves
Sent: Friday, November 20, 2009 11:03 AM
To: [email protected]
Subject: [flexdev] Re: passar parametros do combobox
JC, será que o erro tem a ver com os states? eu tenho criado. acho que já vi
alguém falar de criar o objeto antes de mudar o state para dar erro, algo
assim.
como eu analiso isso. por que a meu ver eu clico em um botão, ele muda o state
e aparece graficamente as estruturas com o combobox, então não vejo como eu ter
criado o componente antes.ou algo do tipo, mesmo pq , eu consigo popular ele,
apenas nao consigo passar o parametro.
2009/11/20 Collin Peterson Mendes Chaves <[email protected]>
oi JC, fiz esse teste do trecho que vc me enviou. o que me deixou surpreso é
que a mensagem 'Cade o combo' foi a exibida. não entendo isso, o combobox
existe, como é que ele acusa q não existe?
2009/11/19 J.C.Ködel <[email protected]>
certamente listPromotores ou listPromotores.selectedItem são nulos.
Tente fazer isso:
if(listPromotores == null) { Alert.show("Cade o combo?"); }
else if(listPromotores.selectedItem == null) { Alert.show("Eita tio,
seleciona o treco no combo ae!"); }
else Alert.show(listpromotores.selectedit...@promotor);
Note que, quando estamos lidando com xml, devemos ler os atributos do xml
(por isso o @ antes de promotor), mas se databinding for feito com uma classe,
então é só promotor. E se promotor é um nó do xml, então não vai funcionar
assim (já que selectedItem seria o nó).
From: Collin Peterson Mendes Chaves
Sent: Thursday, November 19, 2009 6:18 PM
To: [email protected]
Subject: [flexdev] Re: passar parametros do combobox
estou fazendo um teste para verificar os valores do combobox capturado que
implementei assim:
public
function exibeCombobox():void{
var texto:String=String(listPromotores.selectedItem.promotor);
Alert.show(
"o texto é "+texto,"conteúdo");
}
e obtenho a seguinte mensagem de erro:
TypeError: Error #1009: Não é possível acessar uma propriedade ou um método
de uma referência de objeto nula.
at cabecalho/exibeCombobox()[C:\Documents and Settings\collin\My
Documents\Flex Builder 3\proRelatorioCorregedoria\src\cabecalho.mxml:56]
at
proRelatorioCorregedoria/___proRelatorioCorregedoria_Button3_click()[C:\Documents
and Settings\collin\My Documents\Flex Builder
3\proRelatorioCorregedoria\src\proRelatorioCorregedoria.mxml:132]
não entendo o porque do erro, fiz várias mudanças em
listPromotores.selectedItem, listPromotores.labelField e outras configurações e
o mesmo erro persiste.
nunca vi tamanha complicação em um componente na hora de pegar parametro
escolhido.
2009/11/19 Collin Peterson Mendes Chaves <[email protected]>
obrigado renato, consegui atualizar e eliminou o erro. :)
2009/11/19 Renato Gonçalves <[email protected]>
Atualiza o Flash Debugger
http://www.adobe.com/support/flashplayer/downloads.html
Baixa o flash para o seu navegador com a opção debugger.
2009/11/19 Collin Peterson Mendes Chaves <[email protected]>
oi JC, rapaz acho que não estou sabendo debuggar pois coloco um
breakpoint em uma linha, quando rodo o debug a aplicação roda
normalmente e a visão em perspectiva não muda para a versão debug
mudando o layout.
e depois de algum tempo aparece a seguinte mensagem
Em 18/11/09, J.C.Ködel<[email protected]> escreveu:
> Vamos por partes, como diria Jack.
>
> Você debugou teu código flex e viu se o valor sendo enviado pelo
Flex para o
> ASP está correto?
>
> --------------------------------------------------
> From: "Collin Peterson Mendes Chaves" <[email protected]>
> Sent: Wednesday, November 18, 2009 11:10 AM
> To: <[email protected]>
> Subject: [flexdev] Re: passar parametros do combobox
>
>>
>> oi JC, vou ver se explico : eu tenho o xml que eu gero no asp e
trago
>> para o combobox, é o seguinte xml
>>
>> <?xml version="1.0" encoding="ISO-8859-1" ?>
>> <designacoes>
>> <designacao id="1">Exercício de sua Titularidade</designacao>
>> <designacao id="2">Exercício em Substituição</designacao>
>> <designacao id="3">Exercício por Designação</designacao>
>> <designacao id="4">Atuação em Auxílio ou
Colaboração</designacao>
>> <designacao id="5">Relatório de Mutirão</designacao>
>> <designacao id="6">Relatório de Plantão</designacao>
>> </designacoes>
>>
>> em seguida eu atribuo o xml gerado a um ArrayCollection criado
>> conforme o codigo a seguir:
>>
>> [Bindable]
>> public var designacao:ArrayCollection=new ArrayCollection();
>>
>> public function BuscaDesignacao(event:ResultEvent):void{
>> designacao=event.result.designacoes.designacao;
>> }
>>
>> esse array chamado designacao é colocado no data provider do
combobox
>> e com isso tenho a população dos dados dentro do componente. até ai
>> nenhum problema.
>>
>> quando eu tento escolher o valor do combobox para enviar para o asp
>> (para fazer a inserção no banco) percebo no asp que o conteúdo
enviado
>> é vazio, pois coloco um alert.show para exibir o retorno do asp e
não
>> retorna nada.
>> o problema e que não sei o que está acontecendo, o porque de não
está
>> conseguindo passar o id para inserir.
>>
>> espero ter esclarecido melhor.
>>
>> Em 17/11/09, Rafael<[email protected]> escreveu:
>>> eu faço desta maneira, tente ai
>>>
>>> "id do combobox".selectedItem."valor que deseja" ( no seu caso
seria
>>> "id" )
>>>
>>> ou tbm pode ser
>>>
>>> "id do combobox".dataProvider["id do
combobox".selectedIndex]."valor que
>>> deseja" ( no seu caso seria "id" )
>>>
>>>
>>> 2009/11/17 Collin Peterson Mendes Chaves
<[email protected]>
>>>
>>>>
>>>> oi rafael, tentei sua solução e continua saindo vazio -
>>>> cb.designa.selectedItem.id
>>>> JC, como seta o labelfield para @text? na verdade eu quero
passar não
>>>> o texto e sim o id.
>>>>
>>>> Em 17/11/09, Rafael<[email protected]> escreveu:
>>>> > passe desta maneira
>>>> > --> cb.designa.selectedItem.id
>>>> >
>>>> > 2009/11/17 J.C.Ködel <[email protected]>
>>>> >
>>>> >> Tente passar os textos como atributos ao invés de inline.
>>>> >>
>>>> >> i.e.:
>>>> >>
>>>> >> <designacao id="1" text="Exercício ..."/>
>>>> >>
>>>> >> E setar o labelField para @text.
>>>> >>
>>>> >> --------------------------------------------------
>>>> >> From: "Collin Peterson Mendes Chaves"
<[email protected]>
>>>> >> Sent: Tuesday, November 17, 2009 12:02 PM
>>>> >> To: "flexdev" <[email protected]>
>>>> >> Subject: [flexdev] passar parametros do combobox
>>>> >>
>>>> >>
>>>> >>
>>>> >>> pessoal, tenho o seguinte xml que uso para popular o
combobox, até
>>>> >>> ai
>>>> >>> tudo
>>>> >>> bem
>>>> >>>
>>>> >>> <?xml version="1.0" encoding="ISO-8859-1" ?>
>>>> >>> <designacoes>
>>>> >>> <designacao id="1">Exercício de sua
Titularidade</designacao>
>>>> >>> <designacao id="2">Exercício em Substituição</designacao>
>>>> >>> <designacao id="3">Exercício por Designação</designacao>
>>>> >>> <designacao id="4">Atuação em Auxílio ou
Colaboração</designacao>
>>>> >>> <designacao id="5">Relatório de Mutirão</designacao>
>>>> >>> <designacao id="6">Relatório de Plantão</designacao>
>>>> >>> </designacoes>
>>>> >>>
>>>> >>> o problema é que quando envio a informação escolhida por
httpservice
>>>> >>> para o asp que vai tratar a informação, percebo que a
informação não
>>>> >>> aparece (vazia). utilizo um alert.show para comprovar.
>>>> >>>
>>>> >>> já tentei de tudo para passar a informação e nada.
>>>> >>>
>>>> >>> {cb.designa.text}
>>>> >>> {cb.designa.value}
>>>> >>> {cb.designa.selectedItem.data}
>>>> >>> {cb.designa.data}
>>>> >>>
>>>> >>> alguém pode me ajudar?
>>>> >>>
>>>> >>> >>
>>>> >>
>>>> >
>>>> > >
>>>> >
>>>>
>>>> >
>>>>
>>>
>>> >
>>>
>>
>> >>
>>
--
Renato Gonçalves
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
smime.p7s
Description: S/MIME cryptographic signature
