Olá, sou novo no Forum, e iniciante em Flex.
Minha duvida é na parte da programaçao mesmo.
Seguinte, estou populando uma combobox com um ArrayCollection de objetos Professor. Mas nao estou conseguindo pegar o objeto selecionado para gravar no banco.
Tentei de varias formas:
listaProfessor.selectedItem
listaProfessor.selectedIndex
listaProfessor.selectedLabel
tentei um for…nao deu certo, talvez eu tenha feito ele de forma errada.
private function percorreProfessor():Object{
for(var cont: int = 0; cont < listaProfessor.length; cont++ ){
if(addProfessor.labelField == listaProfessor[cont][‘nome’]){
var objeto:Object = listaProfessor[cont];
}
}
return (objeto);
}
DBR, não sei como você está atribuindo os professores à essa ComboBox, mas partindo do princípio de que você está obtendo uma lista de professores e colocando essa lista como data provider do ComboBox, a opção do selectedItem já deveria ser o suficiente.
E outra coisa, isso aqui:
deve estar retornando o labelField que o addProfessor está usando (que pode ser “nome”, “email”) e não o valor de fato da propriedade.
Deveria ser addProfessor[addProfessor.labelField] ?
Outra dúvida é, você manda o objeto selecionado para onde? Java? PHP?
Sim, selectedItem funciona em um dataGrid, mas não esta pegando na combobox. Estou pegando uma lista de professores (objetos) e carregando ela com o dataprovider.
Estou passando para Java.
Debuga no Java, ta chegando null la? Provavelmente eh erro na classe, se vc mapeou ela de acordo com o objeto Java, pode estar faltando algum atributo. As vezes da isso. Bota um “public dynamic class” e testa.
Encontrei o erro. era no java. Eu tava com duas combobox nesse form consequentemente eu tinha duas pesquisas no java pra retornar uma lista cada no BD (Professor e Curso). O que Ocorria é que o metodo que eu chamava pra combo de professor estava me mandando uma lista de curso e vice versa. Fiz a inversao no meu SQL e funcionou. Estranho nao ter dado nenhum erro.