2009-08-22 9 views
1

Ist es möglich, einige wie erhalten den Index der Auswahl entsprechend der nicht gefilterten Tabelle?JTable RowFilter

Nach der Tabelle ist Filter mit einem RegexFilter. JTable getSelectedRow gibt den Index der gefilterten Tabelle zurück?

Antwort

6

Wenn Sie die integrierte Funktion TableRowSorter von 1.6 verwenden, können Sie die Tabelle convertRowIndexToModel() verwenden. Dies gibt Ihnen den ungefilterten Index der ausgewählten Zeile.

Die javadoc für JTable gibt eine Beschreibung dafür:

Konvertierungen sein Coordinate notwendig, wenn mit dem darunterliegenden Tablemodel der Zeile basierend Methoden des JTable verwenden. Alle JTables-Zeilen basierten Methoden sind in Bezug auf die RowSorter, , die nicht unbedingt das gleiche wie der zugrunde liegenden TableModel ist. Für Beispiel ist die Auswahl immer in Bezug auf JTable so, dass, wenn RowSorter verwenden, müssen Sie mit convertRowIndexToView oder convertRowIndexToModel konvertieren.

0

Speichern Sie die Zeilen-ID in Ihrem Datamodell. Wenn Sie die ausgewählte Zeile aus jtable abrufen, fragen Sie diese Zeilen-ID ab.