Bonjour à tous,
j'ai rajouté un filtre un mécanisme de filtre sur une jtable permettant de filtrer le contenu de chacune des colonnes sur base d'une sélection.
Cependant, mon filtre ne fonctionne pas comme je voudrais.
J'ai différentes checkboxs qui me permettent d'appliquer le tri.
Ainsi,
quand checkall = true, j'applique la regex "." pour sélectionner toute les lignes.
quand checkall = false, j'applique la regex "ZZZZZ" car je suis sur qu'aucune de mes données ne prend cette valeur.
quand checkBox_i = true, j'applique la regex "regex_i"
Pour autoriser le filtre multiple sur mes différentes colonnes de ma table, j'utilise la méthode andFilter de RowFilter, avec comme paramètre le tableau contenant le filtre pour chacune de mes colonnes
Mon problème est qu'après avoir décoché checkAll (aucune ligne s'affiche donc ok) et recoché CheckAll, le nombre de lignes affichées est limité aux 7 premières au lieu d'afficher l'ensemble des lignes (une vingtaine).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 String regex; if(arrayOfValueCheckAll.get(columnIndex)) regex = "."; else regex = constructRegex(columnIndex); filters.set(columnIndex,RowFilter.regexFilter(regex, columnIndex)); RowFilter<AbstractTableModel,Integer> rff = RowFilter.andFilter(filters); sorter.setRowFilter(rff);
De plus, j'ai essayé en retirant l'utilisation du filtre multiple et mes filtres fonctionnent correctement :
Y a-t-il une utilisation particulière de la méthode andFilter?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sorter.setRowFilter(RowFilter.regexFilter(regex, columnIndex));
Pourquoi me limite-t-elle l'affiche aux premiers éléments de ma liste dans le cas d'une regex = "."?
Merci d'avance
Partager