IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Filtré par rapport a deux colonnes dans un JTable


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut Filtré par rapport a deux colonnes dans un JTable
    Bonjour

    J'ai besoin de votre aide, pour filtrer un JTable par rapport a deux colonnes je m'explique :

    je remplie mon JTable "T1" pendant le chargement de mon application, j'ai 3 colonne par exemple Id , Nom et Etat

    quand je veux faire un filtre sur la colonne "Etat" ou la colonne "Nom" je fait


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TableModel Tm = T1.getModel();
     
    TableRowSorter<TableModel> sorter = new ableRowSorter<TableModel>(Tm);
     
    sorter.setRowFilter(RowFilter.regexFilter(FilterData, 2)); // 2 c'est le num de ma colonnes 
     
    T1.setRowSorter(sorter);
    donc mon Tableau je peut le filtré comme je veux par rapport a une colonne, jusqu'au là tous marche bien

    mais moi se que je veux faire c'est filtré par rapport a deux colonne
    par exemple par rapport a la colonne
    Nom : afficher que les Nom magasin,
    Etat : afficher que l'état libre
    donc faire une combinaison pour afficher que les lignes qui ont un nom magasin et un Etat libre.

    j'éspere que c'est claire, donc si vous avez des idées ou des exemples je suis prôneur.

    merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il te suffit d'implémenter ton propre RowFilter pour cela.

    cf http://java.sun.com/javase/6/docs/ap...RowFilter.html

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    Merci pour ta réponse

    mais j'ai pas trop compris ce qu'il explique dans le lien que tu ma donné, je voie pas comment créer une classe de filtre ?!!!!!!

    moi j'ai essayé de faire un filtre sur ma table et le résultat du filtre lui appliqué un autre filtre mais ça marche pas non plus

    est ce que c'est possible d'avoir un exemple SVP là je suis vraiment bloqué

    merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    Hello

    Le sujet date un peut, mais j'ai eu le même problème et que j'ai trouvé une bonne explications (courte) j en fait profiter les googleurs passant par là!

    http://stackoverflow.com/questions/4...-for-rowfilter

    Il faut utiliser un andFilter, pas besoin de tout redéfinir! On concatène les filtre sur chaque colonne avec le and Filter, ou orFilter si on veut faire un or...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(3);
    filters.add(RowFilter.regexFilter(chaineFiltre.get(0),2));
    filters.add(RowFilter.regexFilter(chaineFiltre.get(1),4));
    filters.add(RowFilter.regexFilter(chaineFiltre.get(2),3));
    RowFilter<Object,Object> fooBarFilter = RowFilter.andFilter(filters);
     
    sorter.setRowFilter(fooBarFilter);

    Si ça peut aider quelqu'un!

Discussions similaires

  1. afficher deux colonnes dans listes déroulantes
    Par maxeur dans le forum Access
    Réponses: 8
    Dernier message: 26/01/2007, 09h54
  2. Réponses: 2
    Dernier message: 18/07/2006, 11h40
  3. [SQL] Enlever les doublons par rapport a une colonne
    Par irenee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/12/2005, 19h23
  4. Afficher deux colonnes dans une ListBox
    Par deubal dans le forum Composants VCL
    Réponses: 4
    Dernier message: 25/10/2005, 19h53
  5. Initialisation d'une colonne par rapport à une autre colonne
    Par jeromesco dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2005, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo