make setAutoCreateRowSorter为true后更新模型

时间:2014-06-23 20:28:50

标签: java swing sorting jtable rowsorter

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

它是排序但模型不会改变。我打电话给jtable模型。但它是在排序之前。

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

make setAutoCreateRowSorter为true后如何更新模型?

1 个答案:

答案 0 :(得分:2)

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

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

那就是你需要通过表访问数据,因为表知道数据的当前显示顺序。 TableModel中的数据从未实际排序,因此您无法通过表中的选定行引用它。

如果要通过TableModel访问数据,则首先需要使用以下命令将selectedRow值转换为实际模型行:

table.convertRowIndexToModel(...)