Objetos em Combobox

7 respostas
DBR

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);

}

Se puder, preciso de alguma dica. Abraços!

7 Respostas

xdraculax

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?

DBR

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.

DBR

populando a combo
<mx:ComboBox x=“92” y=“135” id=“addProfessor” labelField=“nome” dataProvider="{listaProfessor}" creationComplete=“listarEventCombo()”>

pegando ela e passando para gravar no banco:
turma.professor = addProfessor.selectedItem as Professor;

xdraculax

listarEventCombo faz o que?

Realmente, era pra funcionar cara.

O que acontece? Não vai o objeto para o Java? Dá exception?

DBR

Deve ter algum outro problema, SelectedItem esta funcionando em outras funçoes.
Mesmo assim obrigado pela atençao.

AUser

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.

DBR

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.

Criado 2 de novembro de 2011
Ultima resposta 5 de nov. de 2011
Respostas 7
Participantes 3