Java: индекс выбранных строк не изменяется при сортировке
у меня есть Jtable, на котором я вызвал метод
table1.setAutoCreateRowSorter(true);
.
Так что это работает хорошо.
Но у меня также есть methos в моем классе JFrame, который запускается, когда я нажимаю кнопку. Он получает индексы выбранных строк с помощью этого кода
int selectedRows[] = this.table1.getSelectedRows();
.
И отображает окно редактирования для первой строки, соответствующей выбранному интервалу.
проблема в том, что если я не нажимаю на заголовки столбцов (я имею в виду, что я не сортирую их вообще), мой метод работает идеально. Но когда я сортирую строку, индексы строки, похоже, не меняются вообще - таким образом, в результате окно редактирования для старой строки, которая изначально была в этом положении, прежде чем делать какой-либо вид.
Я использую JDK 6 может ли anyonw дать Ма совет?
2 ответов
базовая модель не изменяет порядок. Изменяется только вид. Вы можете узнать больше об этом в солнечное учебник. Вам нужно будет использовать JTable.convertRowIndexToView () и JTable.convertRowIndexToModel ().
вам нужно использовать convertRowIndexToView(int)
и convertRowIndexToModel(int)
для преобразования индексов модели (базовых данных) и индексов вида.