Обновить модель после того, как make setAutoCreateRowSorter верен

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

Это сортировка, но модель не меняется. Я назвал модель Jtable. но это до сортировки.

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

Как обновить модель после того, как make setAutoCreateRowSorter имеет значение true?

1 ответ

Решение

Если вы хотите получить доступ к значению из выбранной строки в таблице, вам необходимо использовать:

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

То есть вам нужно получить доступ к данным через таблицу, так как таблица знает текущий порядок отображения данных. Данные в TableModel фактически никогда не сортируются, поэтому вы не можете ссылаться на них по выбранной строке в таблице.

Если вы хотите получить доступ к данным через TableModel, вам сначала нужно преобразовать значение selectedRow в фактическую строку модели, используя:

table.convertRowIndexToModel(...) 
Другие вопросы по тегам