JTable RowFilter
-
19-09-2019 - |
Domanda
È 'possibile in qualche modo ottenere l'indice della selezione corrispondente alla tabella non filtrata?
Dopo che il tavolo è filtro con un regexFilter. JTable getSelectedRow restituisce l'indice della tabella filtrata?
Soluzione
Se si utilizza la funzionalità costruito in TableRowSorter dal 1.6 è possibile utilizzare la convertRowIndexToModel () sul tavolo. Questo è dare l'indice non filtrata della riga selezionata.
Il Javadoc per JTable dà una descrizione di questo:
coordinate conversioni saranno necessaria quando si utilizza la riga basata metodi di JTable con sottostante, TableModel. Tutto fila JTables basato metodi sono in termini di RowSorter, che non è necessariamente la stessa quello della TableModel sottostante. Per esempio, la selezione è sempre termini di JTable in modo che quando si utilizza RowSorter è necessario convertire utilizzando convertRowIndexToView o convertRowIndexToModel.
Altri suggerimenti
memorizzare la riga id nel vostro DataModel, quando si ottiene la riga selezionata da JTable, interrogazione che le righe ID.