Depois de um dia inteiro procurando uma solução. catando em vários foruns,
listas e etc.
NOSSO GRANDE amigo José Carlos Silveira Fiel <[email protected]> deu a luz e
o filho nasceu hehehe .

Nada de coisa mirabolante bastou eu colocar um metodo de
selecionarComboCidade(codEstado) no método Result .
Funcionou tanto selecionando pelo dataGrid como no momento do cadastro onde
todos os campos estão nulos.

Só que agora fica a questão, porque o FLEX não consegue redirecionar uma
sequência em um determinado método, quando esse redirecionamento é para
fazer uma select ou update ou insert num DAO.? Só entra no DAO depois que o
método/function é finalizado.!!!!
exemplo:

functtion capturarLinha(linha:int):void {
    campo1.text=listadeRegistro[linha].campo1
    campo2.text=listadeRegistro[linha].campo2
    codPai=campo2.text;
    classeFilhoDAO.BuscarFilhosDoPai(codPai);   //pelo Debug o cursor entra
no método mas não no DAO.
    campo3.text=listadeRegistro[linha].campo3
    codFilho=campo3.text;
    selecionarComboFilho(codFilho);      //aqui da erro pois a listaDeFilhos
é nula
}
só no final é que ele entra no DAO e preenche a listaDeFilhos.

Para os mais experientes , poderíamos criar até um novo tópico.

abraço a todos e boa noite.
obrigado José



2009/4/18 José Carlos Silveira Fiel <[email protected]>

> Por coincidência ou não, estou respondendo o 3 post seu sobre combos e
> datagrid hehe, mas vamos lá
>
> O problema de popular o "combo Dependente" somente depois que finaliza a
> função CapturaLinha é que você quer selecionar algum item deste "combo
> Dependente" isso?
> Se for isso, você deve somente selecionar este item depois de populado
> obviamente, ou seja, na sua função de Result, que acaba de popular, aí se
> populou, seleciona, senão faz nada (um pequeno tratamento hehe).
> Senão for isso, posta aí! ;-)
>
> Abraços,
> --
> Att.,
> José Carlos Silveira Fiel
> Programador Adobe Flex e PHP
> http://blog.fielweb.com.br/
>
> 2009/4/17 bruno bg <[email protected]>
>
> Eu tenho dois ComboBox que são por exemplo  Titular e o outro Dependentes
>> desse titular.
>> O primeiro eu já preencho no init().
>> E o outro combobox "dependente" preencho de acordo com a escolha do
>> "titular".
>> No momento da cadastrar está tudo funcionando perfeitamente.
>>
>> QUANDO EU FAÇO A PESQUISA PELO DATAGRID (PROBLEMAS !!!)
>> Eu tenho um DataGrid, onde faço a pesquisa do titular, quando eu clico cai
>> na function "CapturaLinha" onde eu preencho os campos para
>> uma visualização do usuário onde ele pode alterar ou excluir o registro.
>>
>> Como eu preencho o combobox "dependente" de acordo com o "titular"
>> escolhido, na function "capturaLinha(int(dtgrdCliente.selectedIndex))"
>> coloquei uma chamada para outra function "PreencheComboDependente"
>> passando como parametro o id_do_titular que capturo do DataGrid.
>> Aê que fica o problema,
>> essa function "PreencheComboDependente" só é excutada depois da function
>> "capturaLinha" é finalizada.
>> Debugando eu vi que some os aributos e parametros.
>>
>> eu uso a estrutura:
>>     <mx:RemoteObject id="dependenteDAO" destination="DependenteDAO">
>>         <mx:method name="BuscarDoTitular" result="onResultList(event)"
>> fault="onFaultGetList(event)"/>
>>     </mx:RemoteObject>
>>
>> E no ActionScript está assim:
>>
>>         [Bindable]
>>         private var listaDeTitulares:ArrayCollection;
>>         [Bindable]
>>         private var listaDeDependentes:ArrayCollection;
>>
>>        private function capturaLinha(linha:int):void {
>>           if (dtgrdCliente.selectedIndex == -1)
>>               Alert.show("Selecione um Registro!");
>>           else{
>>             inputId_cliente.text=listaDeTitulares[linha].id_cliente;
>>
>>             //Buscando os dependentes
>>             buscandoDependentes(listaDeTitulares[linha].id_empresa);
>> // aqui vai no DAO criar o Array e depois automaticamente vai para
>> onResultList
>>             selecionarDependente(listaDeTitulares[linha].id_dependente);
>> // aqui faz um for no Array listaDeDependentes  para fazer um selectedItem
>> no combobox
>>             inputNome.text=listaDeTitulares[linha].nome;
>>             }
>>         }
>>
>>         private function buscandoDependentes(codTitular:int):void{
>>             dependenteDAO.BuscarDoTitular(codTitular);
>>         }
>>
>>         private function onResultList(event:ResultEvent):void {
>>             if (event.result.length != 0)
>>                 listaDeDependentes = event.result as ArrayCollection;
>>             else {
>>                 Alert.show("Não encontrado");
>>                 listaDeDependentes = new ArrayCollection();
>>             }
>>         }
>>
>>
>> Será que estou errando na estrutura ?
>> Ou será na lógica ?
>>
>>
>>
>>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a