o problema nem é esse... :)... os combos são independentes... e eu
estou com problema na tela de edição do registro....
eu preciso popular os combos com todos os valores e logo depois setar
o relacionado do objeto principal.
são 3 remoteobjects diferentes... não precisa executar numa sequência
mas o último precisa ser executado quando os outros já estiverem
concluídos....
para popular os combos eu tenho aquele método que postei:
private function fillCor():void{
roCor.addEventListener(ResultEvent.RESULT, afterFillCor);
roCor.getList();
}
private function afterFillCor(evt:ResultEvent):void{
var arrayCor:ArrayCollection = evt.result as ArrayCollection;
cbCor.dataProvider = arrayCor;
}
no fillForm, onde populo a tela com os dados do objeto, eu vou ter
mais ou menos o seguinte:
private function fillForm():void{
cbCor.selectedItem = this.objetoCasa.cor;
}
nessa estrutura eu não posso chamar os 3 métodos em sequência pq o
fillForm pode ser executado quando o fillCor ainda não foi concluído.
e pesquisando vi q já tem uma thread sobre isso aqui no fórum.... foi
mal galera....
abraços
2009/12/8 Leonardo Ribeiro <[email protected]>:
> Algo que me ocorreu agora...
> Se os seus combos são "dependentes" vc pode carregar primeiro a Cor e os
> outros combos ficarem desabilitados, após ser selecionada uma cor
> (selectedIndex > -1) vc habilita o proximo combo e manda carregas as
> informações dele, e assim para o próximo...
>
>
> 2009/12/8 Leonardo Ribeiro <[email protected]>
>>
>> Hmm é verdade, bem observado.
>> Assim que achar uma solução posta aí mesmo...
>> Tbm vou dar uma procurada
>>
>> 2009/12/8 Abner Campanha <[email protected]>
>>>
>>> :)... exatamente o q quero evitar.... naum iria ficar coeso um método
>>> fillCor() carregar as cores e chamar outro método que não seja
>>> referente a cor...
>>>
>>> bom, ainda estou buscando uma solução.... se descobrir posto aki...
>>>
>>> obrigado.
>>>
>>> 2009/12/8 Leonardo Ribeiro <[email protected]>:
>>> > Pode fazer o seguinte, no seu método
>>> > private function setEditMode():void{
>>> > this.fillCor();
>>> > this.fillTipo();
>>> > this.fillForm();
>>> > }
>>> >
>>> > troque por
>>> > private function setEditMode():void{
>>> > this.fillCor();
>>> > }
>>> > E no result de fillCor() chame this.fillTipo(); e no result de
>>> > fillTipo()
>>> > chame this.fillForm();
>>> >
>>> >
>>> > 2009/12/8 Abner Campanha <[email protected]>
>>> >>
>>> >> estou com o seguinte problema:
>>> >>
>>> >> tenho um formulário de edição para um objeto... vou chamar de casa
>>> >> para explicar melhor....
>>> >>
>>> >> meu objeto casa tem 2 propriedades que são outros objetos: cor e tipo.
>>> >>
>>> >> quando carrego meu form para edição da casa eu preciso carregar 2
>>> >> comboboxes, um para a cor e outra para o tipo e depois de carregados
>>> >> setar qual a cor e o tipo atual do meu objeto casa.
>>> >>
>>> >> tenho um método principal onde carrego os objetos:
>>> >>
>>> >> private function setEditMode():void{
>>> >> this.fillCor();
>>> >> this.fillTipo();
>>> >> this.fillForm();
>>> >> }
>>> >>
>>> >> cada método fillCor e fillCasa acessam um remoteobject adicionando um
>>> >> método de result para popular o combo como abaixo:
>>> >>
>>> >> private function fillCor():void{
>>> >> roCor.addEventListener(ResultEvent.RESULT, afterFillCor);
>>> >> roCor.getList();
>>> >> }
>>> >>
>>> >> private function afterFillCor(evt:ResultEvent):void{
>>> >> var arrayCor:ArrayCollection = evt.result as ArrayCollection;
>>> >> cbCor.dataProvider = arrayCor;
>>> >> }
>>> >>
>>> >> o método fillTipo seria a mesma coisa e com isso eu teria os combos
>>> >> populados... o problema é quando chamo fillForm... como tudo é
>>> >> assíncrono meu método fillForm vai falhar pq eu já tento carregar no
>>> >> combo os objetos tipo ou cor do objeto casa que ainda não foram
>>> >> populados.
>>> >>
>>> >> tendo esse cenário, como seria o modo correto para eu chamar fillForm
>>> >> apenas quando os outros 2 métodos e seus resultados forem concluídos
>>> >> ???
>>> >>
>>> >> Obrigado.
>>> >> --
>>> >> Abner Campanha
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > []'s
>>> > Leonardo
>>> >
>>> > Linux User #488650
>>> > Ubuntu User #27045
>>> > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>> >
>>> > >
>>> >
>>>
>>>
>>>
>>> --
>>> Abner Campanha
>>>
>>>
>>
>>
>>
>> --
>> []'s
>> Leonardo
>>
>> Linux User #488650
>> Ubuntu User #27045
>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
>
>
> --
> []'s
> Leonardo
>
> Linux User #488650
> Ubuntu User #27045
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> >
>
--
Abner Campanha
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---