在make setAutoCreateRowSorter为true后更新模型


 tableMalzeme.setModel(DbUtils.resultSetToTableModel(resultSet));               
 tableMalzeme.setAutoCreateRowSorter(true);

正在排序,但是模型没有改变。我调用了jtable的模型。但是它出现在排序之前。

txtmalzeme.setText(tableMalzeme.getModel().getValueAt(tableMalzeme.getSelectedRow(), 1).toString());

如何在setAutoCreateRowSorter为真后更新模型

如果要访问表中选定行的值,则需要使用:

//txtmalzeme.setText(tableMalzeme.getModel().getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
txtmalzeme.setText(tableMalzeme.getValueAt(tableMalzeme.getSelectedRow(), 1).toString());

也就是说,需要通过表访问数据,因为表知道数据的当前显示顺序。TableModel中的数据从来没有真正排序过,所以你不能通过表中所选的行来引用它。

如果你想通过TableModel访问数据,那么你首先需要通过使用

将selectedRow值转换为实际的模型行:
table.convertRowIndexToModel(...) 

相关内容

  • 没有找到相关文章

最新更新