Bonjour à tous, ;)
J'ai un JTable, contenant des données issues d'une base de données SQLite. Mon but est de filtrer les lignes à afficher dans un JTable, en fonction du contenu de plusieurs JLabels.
Malgré plusieurs heures de recherche, je n'y arrive pas.
J'ai trouvé qu'il y a possibilité de faire un modèle. Mais il faut créer une classe MyTableModel etc. Je trouve que c'est sortit l'artillerie lourde pour un petit truc. Sans compter que je n'y suis pas arriver à l'implémenter correctement :(
Sinon j'ai aussi la possibilité de vider mon JTable et refaire une requête SQL pour compléter à nouveau mon JTable. Mais comment on fait pour vider et re-remplir un JTable existant ?
Y a-t-il une autre méthode plus simple ?
Bref, je ne sais pas trop comment m'en sortir. Pouvez-vous m'aider ??
Merci d'avance :)
A voir également:
Filtre de sources de données
Filtre sur plusieurs sources de données - Meilleures réponses
Cependant, je n'arrive pas à l'intégrer dans mon programme. J'ai copié les classes Table et Filtre. Dans ma classe déjà existante (étendant une JFrame) je crée un JScrollPane contenu dans une case d'un GridBagLayout, puis je crée mon tableau :
JScrollPane scrollPatients = new JScrollPane();
GridBagConstraints gbc_scrollPatients = new GridBagConstraints();
gbc_scrollPatients.fill = GridBagConstraints.BOTH;
gbc_scrollPatients.gridx = 1;
gbc_scrollPatients.gridy = 1;
getContentPane().add(scrollPatients, gbc_scrollPatients);
Table tabPatients = new Table(columns, data);
scrollPatients.setViewportView(tabPatients);
Mais lorsque je lance mon programme, je n'ai pas de tableau :(
Qu'est ce que j'ai oublié ?
Bon finalement je m'en suis sorti autrement, en recréant un nouveau JTable à chaque fois que j'appuie sur une touche. J'espère que ce sera assez rapide même quand il y aura beaucoup d'enregistrement.
Merci de ton aide.
Bonne journée