Обновить модель после того, как 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(...)