Pegar id do campo da combobox

5 respostas
S

tem 2 campos na minha combobox... mecanica e eletrica... seja qual for o escolhido, no textfield deve receber o id que esta no banco desse campo da combo

public class RegistroOcorrencia extends javax.swing.JFrame {

    private int vetorindice[] = new int[300];


    public RegistroOcorrencia() {
        initComponents();
        DaoOcorrencia dao = new DaoOcorrencia();

        List<Ocorrencia> listacombo = dao.Combo();
   

        jComboBox1.removeAllItems();

        int i = 0;

        for (Ocorrencia oco : listacombo) {

            jComboBox1.addItem(oco.getServicos().getTiposervico().getDescricaoServico());

            vetorindice[i] = oco.getServicos().getTiposervico().getIdServico();
       
//estava tentando aki.. mais ele so fica um valor fixo, se eu selecionar outro, ele não muda.
   tftipodeservico.setText(String.valueOf(vetorindice[i]));
            i++;

        }

5 Respostas

C

Se no banco existe um ID para Mecânica e um ID para Elétrica, quando você selecionar o ítem no combo, faça um select com a cláusula where alimentada com o ítem que você selecionou.

String sql = "select ID from TABELA where COLUNA = '" + combo.getSelectedItem().toString() + "'";

Se entendi bem a sua pergunta, isto irá resolver o seu problema.

Abraço!

S

Mas irei usar mvc… acho que no meu dao não posso chamar a visão…

o textfield teria que receber la na visão msm, Exemplo:
Se eu selecionar mecanica na minha combo… o textfield receberá o “2” que é o id de mecanica.

C

Bom,

Se o seu combo está populado com todos os ítens contidos no banco e estes estão ordenados conforme o banco, é só você capturar o índice do ítem selecionado através do método

combo.getSelectedIndex();

Abraço!

V

Passe a guardar objetos do tipo "TipoServico" no interior da sua Combo, não Strings. Senão fica difícil mesmo obter esse ID.
Se seus objetos não são compatíveis, crie um objeto adaptador.

Quando vc fizer isso, vai bastar fazer:

TipoServico selecionado = (TipoServico)comboBox.getSelectedItem();
if (selecionado == null)
   return;

int id = selecionado.getIdServico();
S

ai vc fez uma instancia da classe TipoServico neh?

Criado 27 de outubro de 2009
Ultima resposta 28 de out. de 2009
Respostas 5
Participantes 3