tableMalzeme.setModel(DbUtils.resultSetToTableModel(resultSet));
tableMalzeme.setAutoCreateRowSorter(true);
它是排序但模型不会改变。我打电话给jtable模型。但它是在排序之前。
txtmalzeme.setText(tableMalzeme.getModel().getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
make setAutoCreateRowSorter为true后如何更新模型?
答案 0 :(得分:2)
如果要访问表中所选行的值,则需要使用:
//txtmalzeme.setText(tableMalzeme.getModel().getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
txtmalzeme.setText(tableMalzeme.getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
那就是你需要通过表访问数据,因为表知道数据的当前显示顺序。 TableModel中的数据从未实际排序,因此您无法通过表中的选定行引用它。
如果要通过TableModel访问数据,则首先需要使用以下命令将selectedRow值转换为实际模型行:
table.convertRowIndexToModel(...)