JTable RowFilter
-
19-09-2019 - |
Question
Est-il possible d'obtenir une certaine façon l'indice de la sélection correspondant à la table non filtrée?
Après que la table est un filtre en utilisant RegExFilter. JTable getSelectedRow renvoie l'index de la table filtrée?
La solution
Si vous utilisez la fonctionnalité intégrée TableRowSorter de 1.6, vous pouvez utiliser le convertRowIndexToModel () sur la table. C'est de vous donner l'index non filtrée de la ligne sélectionnée.
Le javadoc pour JTable donne une description de ceci:
conversions de coordonnées seront nécessaire pour l'utilisation de la rangée sur la base méthodes de JTable avec le sous-jacent TableModel. Toutes ligne JTables base les méthodes sont en termes de RowSorter, qui n'est pas nécessairement les mêmes que celle de la TableModel sous-jacente. Pour par exemple, la sélection est toujours termes de JTable de telle sorte que lors de l'utilisation RowSorter vous devrez convertir en utilisant convertRowIndexToView ou convertRowIndexToModel.
Autres conseils
id stocker le rang dans votre modèle de données, lorsque vous obtenez la ligne sélectionnée à partir jtable, requête ID lignes.