Problemas ao selecionar linha na tabela

1 resposta
michetti

Bom dia galera,

Estou com um problema.. tenho uma tabela e nela eu tenho um combobox para filtar o select no banco de dados, o problema é o seguinte, quando estou usando o getSelectedRow, esta pegando a linha errada..

Por exemplo, tenho 10 registros no combobox TODOS, e tenho 2 registros no combobox DO DIA.
Quando seleciono uma linha dos registros que aparecem no DO DIA pega numero da linha la de TODOS.

EX: la em TODOS este registro fica na linha 9 e no DO DIA fica na 2, e quando seleciono pelo DO DIA pega o registro correspondente la de TODOS e não DO DIA. Alguém tem uma luz? rsrs

[img]http://i.imgur.com/X9S7x7U.png[/img]

Segue o codigo..

int resposta = JOptionPane.showConfirmDialog(null, "Realmente deseja cancelar este agendamento?");
        if(resposta == JOptionPane.YES_OPTION){
            Controlador ct = new Controlador();
        String resultado=null,selecionado=null;
          TableModel modelo = new TableModel();  
          if(jTable1.getSelectedRow() < 0){
              JOptionPane.showMessageDialog(null, "Selecione uma hora agendada antes de finalizar");
          }else{
              selecionado = String.valueOf(modelo.getValueAt(jTable1.getSelectedRow(), 0));
              JOptionPane.showMessageDialog(null, selecionado);
              resultado = ct.cancelarAgendamento(selecionado);
              modelo.limpar();
              listarAgendamentos();
          if(resultado.equals("Agendamento cancelado com Sucesso!!")){
              modelo.limpar();
              JOptionPane.showMessageDialog(null, resultado);
          }else if(resultado.equals("Erro ao cancelar agendamento")) {
              JOptionPane.showMessageDialog(null, resultado);
          }
             }
        }

e minha table model.

public Object getValueAt(int rowIndex, int columnIndex) {  
           Agendamento ag = linhas.get(rowIndex);  
  
        // Retorna o campo referente a coluna especificada.  
        // Aqui é feito um switch para verificar qual é a coluna  
        // e retornar o campo adequado. As colunas sãoas mesmas  
        // que foram especificadas no array "colunas".  
        switch (columnIndex) {  
  
            // Seguindo o exemplo: "Tipo","Data de Cadastro", "Nome", "Idade"};  
            case 0: 
                return ag.getCodigo();
            case 1:  
                return ag.getData();  
            case 2:  
                return ag.getHorario();  
            case 3:  
                return ag.getNome();  
            case 4:
                return ag.getServico();
            case 5:
                return ag.getTelefone();
            case 6:
                return ag.getEndereco();
            case 7:
                return ag.getValor();
            default:  
                // Isto não deveria acontecer...  
                throw new IndexOutOfBoundsException("columnIndex out of bounds");  
        }  
    }

1 Resposta

michetti

Alguém??

Criado 12 de dezembro de 2013
Ultima resposta 13 de dez. de 2013
Respostas 1
Participantes 1