8
votes

Filtre JTABLE Une seule colonne

J'ai une jtalle et j'aimerais faire un filtre à partir d'un jtextfield mais filtrez uniquement les résultats basés sur une colonne et non pour rechercher toutes les colonnes.

J'ai mon jtalle je peux filtrer mais mon filtre filtrera et recherchera toutes les colonnes de la table, je souhaite la limiter à une colonne

Peut-il être fait?


0 commentaires

3 Réponses :


1
votes

Gardez une copie principale de toutes les lignes (ou des données de support) en arrière-plan.

Lors de la recherche, prenez les critères de recherche dans le champ de texte et reconstruisez le modèle de table en ajoutant uniquement des éléments correspondant aux critères. Si le champ de texte est vide, ajoutez toutes les lignes.


1 commentaires

Bien (bien que non trivial à avoir raison) pour Pre1.6, pas depuis 1.6: ma règle générale est de toujours utiliser tout le soutien disponible par n'importe quel cadre, le reste est assez difficile ;-)




15
votes

Écoutez des modifications dans le document Textfieldieldieldieldieldields et définissez le fichier RowFilter approprié à la colonne que vous souhaitez filtrer:

 // on document change
 RowFilter rowFilter = RowFilter.regexFilter(textField.getText(), myColumn);
 table.getRowSorter().setRowFilter(rowFilter);


3 commentaires

Merci beaucoup cela a fait ce que je voulais résolu résolu résolu


aimerait voter, je n'ai pas encore été autorisé à voter :( :( :( Mais merci encore


@ user692808 Vous pouvez accepter la réponse, ne pouvez-vous pas? Augmentera votre réputation aussi bien que la mienne :-)