J'ai un problème lorsque j'essaie de prévisualiser une ligne après avoir trié une colonne.
par exemple : c'est ma table avant de la trier
quand j'essaye de trier par la deuxième colonne, j'obtiens ce résultat qui est normal:
mais quand j'essaie de prévisualiser les détails de la deuxième ligne avec l'ID (A199), je reçois ceux de (A195), qui étaient auparavant la deuxième ligne avant le tri. (J'ai ajouté une action lorsque vous double-cliquez sur une ligne pour avoir un aperçu des détails de la ligne. )
donc mon hypothèse est que le modèle de table n’est pas mis à jour correctement, c’est ce que j’ai essayé:
TableRowSorter<PersonneMoraleSearchTableModel> sorter = new TableRowSorter<PersonneMoraleSearchTableModel>(model);
jTable.setRowSorter(sorter);
List<RowSorter.SortKey> sortKeys = new ArrayList<SortKey>(25);
sortKeys.add(new RowSorter.SortKey(1, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);
sorter.setSortsOnUpdates(true);
Toute aide serait appréciée !
Réponses:
1 pour la réponse № 1Comme le doc dit TableRowSorter
se soucie seulement de la vue et non du modèle de la table.
Certaines fonctions sont utilisées dans la description du document pour convertir les index entre modèle et vue dans le cas où une fonction de tri / filtrage (comme dans votre cas) est utilisée.
Essayez de changer le ActionListener
pour utiliser ces fonctions et le problème devrait être corrigé.