JTable RowFilter
-
19-09-2019 - |
Frage
Ist es möglich, einige, wie der Index der Auswahl erhalten auf die nicht gefilterte Tabelle entspricht?
Nach dem Tisch ist ein Filter RegexFilter verwenden. JTable getSelectedRow gibt den Index der gefilterten Tabelle?
Lösung
Wenn Sie die eingebaute TableRowSorter Funktionalität verwenden von 1,6 Sie convertRowIndexToModel verwenden können () auf dem Tisch. Dies ist Sie den ungefilterten Index der ausgewählten Zeile.
Die javadoc für JTable gibt eine Beschreibung dafür:
Koordinatenkonvertierungen werden erforderlich bei der Verwendung der Reihe basierend Methoden des JTable mit dem darunterliegenden Tablemodel. Alle JTables Reihe basiert Verfahren sind in Bezug auf die RowSorter, das ist nicht unbedingt das gleiche wie dass das zugrunde liegenden Tablemodels. Zum Beispielsweise ist die Auswahl immer in Bezug auf die JTable, so dass bei der Verwendung von RowSorter müssen Sie konvertieren mit convertRowIndexToView oder convertRowIndexToModel.
Andere Tipps
speichern Sie die Zeilen-ID in Ihrem Datenmodell, wenn Sie die ausgewählte Zeile aus jtable erhalten, Abfrage, die Zeilen-ID.