Фильтр строк JTable

Возможно ли как-то получить индекс выбора, соответствующий нефильтрованной таблице?

После фильтрации таблицы с помощью regexFilter. JTable getSelectedRow возвращает индекс отфильтрованной таблицы?


person Hamza Yerlikaya    schedule 22.08.2009    source источник


Ответы (2)


Если вы используете встроенную функциональность TableRowSorter из версии 1.6, вы можете использовать convertRowIndexToModel() для таблицы. Это дает вам нефильтрованный индекс выбранной строки.

Javadoc для JTable дает описание этого:

Преобразования координат будут необходимы при использовании основанных на строках методов JTable с базовой TableModel. Все методы JTables, основанные на строках, основаны на RowSorter, который не обязательно совпадает с методом базовой модели TableModel. Например, выбор всегда осуществляется с точки зрения JTable, поэтому при использовании RowSorter вам потребуется преобразовать с помощью convertRowIndexToView или convertRowIndexToModel.

person Aaron    schedule 22.08.2009

сохраните идентификатор строки в вашей модели данных, когда вы получите выбранную строку из jtable, запросите идентификатор этой строки.

person aepurniet    schedule 22.08.2009