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