O carregamento da combobox sempre acontece pois o formulario está numa popup... Até pq precisa estar atualizado por se tratar de dados dinâmicos...
On 6 set, 15:00, Raphael Ramalho <[email protected]> wrote: > Nao estou com dúvidas quanto a selecao do objeto correto no combobox, > e sim com a sincronizacao do componente quanto ao seu ciclo de vida, > datachange por ai vai.... hueuuhea > > Quero saber quando estiver numa tela de editar um formulario eu dou > setter no objeto q faz o data binding com os campos do mesmo. > > Na hora de selecionar o item correto do combobox (dependendo da tempo > de resposa da requisiçao ao php) o binding eh realizado antes do > preencimento completo da combobox gerando um erro de propriedade > nula.... > Acho q fui mais claro agora... > > Mas mesmo assim agradecoa a ajuda Kleber, fica ai minha dúvida... > lembrando q trabalho com mate para o fluxo de dados se alguem souber > um artificio dentro da arquitetura do mate.... tb ajuda! > > Valeu! > > On 16 ago, 21:29, Kleber Gracia <[email protected]> wrote: > > > > > Olá, a ideia é a mesma viu, qualquer coisa entra em contato. > > > *// Carregar o combobox de outra tabela, é de um relacionamento onde busca o > > cliente* > > > *private* *function* CarregaCidadesCB():*void* > > > { > > > *var* idCliente:String = CodClienteEnvia.text; > > > *var* id:int; > > > id = Login.getInstance().getCodigo(); > > > *//Funcao que que vai enviar para PHP, getClientesConhecimento --- Funcao do > > PHP que retorna dados* > > > *var* asyncToken:AsyncToken = > > Conexao.getInstance().DataService.getClientesConhecimento(idCliente); > > > asyncToken.addResponder( > > *new* mx.rpc.Responder(receivedQueryCidades, gotError)); > > > } > > > *// Encarregado por receber os dados, veja que é um result, envia e retorna > > * > > > *private* *function* receivedQueryCidades( result:ResultEvent ):*void* > > > { > > > *var* r:ArrayCollection = *new* ArrayCollection( result.result *as* Array ); > > > *var* i:int=0; > > > *var* id_combo:int; > > > *var* datos:Array = *new* Array(); > > > *for*(i;i<r.length;i=i+1){ > > > //Veja que r[i].Cli_Razao é a coluna do banco que o PHP retorna > > > datos.push({data:r[i].Cli_CNPJ,label:r[i].Cli_Razao}); > > > Cli_IdCol.selectedIndex=i+1; > > > id_combo = r[i].Cli_CNPJ; > > > auxClienteBuscar = r[i].Cli_Razao; > > > } > > > *//Verifica se cliente existe * > > > Cli_IdCol.dataProvider=datos; > > > } > > > A Ideia é parecida com a sua, espero que entenda. Abraço. > > > At. > > Kleber Gracia Soares > > Equipe Galaxyz trabalhando para vocêwww.galaxyz.com.br > > Telefone: |44| 3233-2039 > > Cel.: |44| 9960-0298 - Tim > > Msn: [email protected] > > Skype: kleber.gracia > > Email: [email protected] > > "Tudo posso naquele que me fortalece!" (Fl 4,13). > > > Em 16 de agosto de 2010 20:58, Raphael Ramalho > > <[email protected]>escreveu: > > > > Galera, tenho um combobox que é preenchido através de um objeto > > > remoto, ele fica em uma popup pra editar alguns valores de determinado > > > objeto de um list; > > > O problema é que como a requisição é feita pelo RO ao zend as vezes o > > > result que alimenta a cb vem depois de ter sido chamado o metodo que > > > seta os valores do objeto nos campos. > > > Como eu uso a funcao pra Binding da combo.... > > > > public static function getIndiceComboBox(comboBoxAux:ComboBox, > > > campo:String, codigo:int):int > > > { > > > var indice:int=0; > > > var i:int=0; > > > var flag:Boolean=true; > > > for (i; i < (comboBoxAux.dataProvider as > > > ArrayCollection).length > > > && flag; i++) > > > { > > > if > > > ((comboBoxAux.dataProvider[i][campo]) == codigo) > > > { > > > indice=i; > > > flag=false; > > > } > > > } > > > return indice; > > > } > > > > Ele daá erro de objeto nulo; > > > Gostaria de saber como sincronizar esses dados de maneira correta... > > > Uso Flex 3.0+Mate framework+ZendFramework1.10 > > > Vlw! > > > > -- > > > 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 emhttp://groups.google.com/group/flexdev -- 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
