Fala pessoal, tenho uma duvida, estou populando um combo box e tinha que adcionar um index(chave primaria) a cada elemento , que nao eh sequencial. ja tentei usar o metodo
insertItemAt(Object,int)
so que quando o argumento int nao eh mais sequencial ele estoura um erro.
ex:
no Banco de Dados esta assim :
cod_mun || str_desc
01 RJ
02 RS
07 RO
03 BA
gostaria de preecher a combo que ao clicar-se no RJ ele me retornasse o codigo 1 , no BA o codigo 3 etc…
alguem tem alguma ideia ?
Abracos
tiralo
Setembro 3, 2007, 3:53pm
#2
boa tarde.
pode ser feita da seguinte maneira.
realizar uma pesquisa no banco de dados e armazenar o resultado em uma lista;
populo o combo atraves dessa lista;
para pegar o codigo do item eu pego a posição que está selecionada no combo e pesquiso na minha lista.
espero ter ajudado.
Obrigado por ter respondido,
mas na propria combo nao tem como armazenar isto ne?!
e outra coisa essa lista seria do tipo de um VO(DTO) ?
Zeed01
Setembro 3, 2007, 4:24pm
#4
Boa tarde colegas !
Você não pode inserir um objeto no combo que possua os atributos ID e Descrição ?
É só reescrever o método toString :
public String toString() {
return id + " - " + descricao;
// ou
//return descricao;
}
Assim no seu combo vai aparecer:
01 - RJ
02 - RS
07 - RO
03 - BA
Se quiser que apareca só a descrição é mexer no toString…
E ao recuperar o objeto selecionado do combo vai conseguir fazer algo ± assim:
(Estado)cmbEstado.getSelectedItem().getId();
Supondo se tratar de um objeto estado…
Espero ter ajudado.
[]s
[quote=Zeed01]Boa tarde colegas !
Você não pode inserir um objeto no combo que possua os atributos ID e Descrição ?
É só reescrever o método toString :
public String toString() {
return id + " - " + descricao;
// ou
//return descricao;
}
Assim no seu combo vai aparecer:
01 - RJ
02 - RS
07 - RO
03 - BA
Se quiser que apareca só a descrição é mexer no toString…
E ao recuperar o objeto selecionado do combo vai conseguir fazer algo ± assim:
(Estado)cmbEstado.getSelectedItem().getId();
Supondo se tratar de um objeto estado…
Espero ter ajudado.
[]s[/quote]
Acho que essa é a melhor maneira de fazer, facilita muito…