KamiK4Z3 0 Denunciar post Postado Julho 25, 2011 Boa tarde pessoal! Estou com uma questão que aparentemente seria fácil de resolver, mas não é bem assim. Tenho uma sessão de cadastro na minha aplicação que necessita trabalhar com 3 ComboBox aninhadas. Curso -> Módulo -> Aula Hoje eu consigo fazer a aplicação passar as informações corretamente para o banco de dados, mas vendo daqui à alguns poucos meses isso já não será possível, já que determinados Módulos possuem Cursos distintos, e a mesma coisa acontece para as Aulas. A questão é a seguinte: eu faço o dataProvider dessas ComboBox utilizando HTTPService e só consigo definir a Label dentro da ComboBox, mas precisava além da Label, definir o valor de cada item da ComboBox utilizando de informações vindas do resultado do HTTPService (XML). Por exemplo: Cursos: Label: Curso 1 - Value: 1 Label: Curso 2 - Value: 4 O XML retorna da seguinte forma: <Cursos> <id>1</id> <nome>Curso 1</nome> <id>4</id> <nome>Curso 2</nome> </Cursos> Faço o DataProvider da seguinte forma: lista_cursos = cursos.lastResult.Cursos.nome; E na ComboBox: <mx:ComboBox id="Cursos" dataProvider="{lista_cursos}"/> Alguém tem alguma sugestão, alternativa ou idéia? Muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Radaelli 0 Denunciar post Postado Julho 27, 2011 Bom dia, Tchê, pelo que pude entender, "Aula" depende de "Modulo" que depende de "Curso", to certo? Se sim, voce poderia preencher os combos "dependentes" após a seleção de um combo "mestre". Tipo, no change do lista_curso, busca os dados para lista_modulo, e assim sucessivamente. Te ajuda? Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
KamiK4Z3 0 Denunciar post Postado Julho 27, 2011 Pois é amigo, um depende do outro sim, mas isso tudo já está sendo feito, consigo fazer cada um puxar sua respectiva lista. O problem está na hora de armazenar no BD, pois preciso definir exatamente o ID de cada um que ficaria armazenado no Combo.data, e não o selectedIndex, selectedLabel ou selectedItem. Eu estou testando bastante coisa aqui e consegui retornar, mas ainda não está certo. Defini: Combo.data = cursos.lastResult.Cursos.id; Cursos.selectedIndex = 0; E também já defini o selectedIndex da combo, pois quando carregar tudo ele já tem que aparecer com as informações vindas do primeiro registro, ou seja, Index = 0. Depois, quando é chamada a função para filtrar o Módulo é coletado o selectedIndex da Combobox e armazenado o ID do registro em uma variável Bindada: sel_curso = Cursos.selectedIndex; cur_selected = Cursos.data[sel_curso]; De cara ele não consegue entender que já está "selecionado" o Index zero da Combobox e retorna um erro, mas depois que é selecionado qualquer item os ID's já são retornados normalmente. Eu vou testar agora fazer essa coleta do ID apenas na hora de chamar o outro HTTPService que faz o cadastro no BD, vamos ver no que vai dar. Deixo vocês informados... Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Radaelli 0 Denunciar post Postado Julho 27, 2011 Tchê, vo dar um exemplo de como faria: Tenho meu combo aqui: <mx:ComboBox x="612" y="10" id="combo_curso" labelField="nome" width="116"></mx:ComboBox> Aqui alimento ele com um objeto vindo da consulta: combo_curso.dataProvider= colService.busca_curso.lastResult; E assim pego o valor selecionado e envio para cadastro: dados.curso = combo_desenvolvimento.selectedItem.cod_curso; cursoService.salva_curso.send(dados); veja aí se te ajuda. abraço. Compartilhar este post Link para o post Compartilhar em outros sites