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

Composants Java Discussion :

Filtre Entete(Header) avec un JTextField


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut Filtre Entete(Header) avec un JTextField
    Bonjour,

    J'utilse actuellement des JTextField pour filtrer une JXtable.
    Pour info voici les filtres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Filter[] filtres = new Filter[5];
            filtres[0] = new PatternFilter(jtfFiltreIdBofap.getText() + "|" + jtfFiltreIdBofap.getText().toUpperCase(), 0, COL_IDBOFAP);
            filtres[1] = new PatternFilter(jtfFiltreCommande.getText() + "|" + jtfFiltreCommande.getText().toUpperCase(), 0, COL_NUMCOMMANDE);
            filtres[2] = new PatternFilter(jtfFiltreIdSociete.getText(), 0, COL_IDCLIENT);
            filtres[3] = new PatternFilter(jtfFiltreClientLivre.getText() + "|" + jtfFiltreClientLivre.getText().toUpperCase(), 0, COL_CLIENT_LIVRE);
            filtres[4] = new PatternFilter(jtfFiltreClientFacture.getText() + "|" + jtfFiltreClientFacture.getText().toUpperCase(), 0, COL_CLIENT_FACTURE);
            jxtBofap.setFilters(new FilterPipeline(filtres));
    J'aimerais :
    -remplacer le header de la jtable par un composant de ce type :
    (Un jpanel qui regroupe un jlabel + un jtextfiel)

    - et pouvoir saisir dans le jtextfield afin de filtrer ma colonne.

    J'ai trouvé des infos pour changer le renderer mais en ce qui concerne d'editer un composant header ... nada

    Merci.
    Images attachées Images attachées  

  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
    Bah en fait, c'est juste qu'un JTableHeader n'est pas prévu d'être éditable à la base .

    Encore pour les boutons on peut toujours se démerder plus ou moins en jouant avec un mouselistener, mais faire de l'édition, là ça commence à être tendu.

    Mais bon c'est possible aussi:
    http://www.java2s.com/Code/Java/Swin...bleExample.htm


  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    Merci en effet je l'avais déjà vu ce source c'est presque ça mais sans changer le nom de la colonne et en ajoutant le filtre.

    Ca me parait étonnant que personne n'ai déjà fait ce genre de filtre incrusté...pk pas..

    Je devrais pouvoir m' inspirer de cet exemple; si toutefois quelqu'un s'est déjà amusé à le faire je reste ouvert à vos suggestions...

  4. #4
    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
    Le problème avec ce genre de choses c'est que tu perds un peu la possibilité de déclencher le tri des colonnes en java 6, vu que c'est le rederer par défaut qui en a le rôle.

    Perso je pencherais vers une solution à base de barre de filtre (genre barre de recherche dans firefox) en dessous de la table avec une combo box pour choisir la colonne et un champ texte. Puis de binder ça avec le mécanisme de filtre proposé par la JTable. Ce sera probablement un peu moins galère et plus propre au niveau du code. Voir plus utilisable car je sens bien les merdouilles de focus venir se glisser dans le TableHeader.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    Pour le tri c'est effectivement dommage mais il y a peut être possibilité de l'implémenter dans mon propre Header ?

    Pas mal l'histoire du combo. Mais le but est de cumuler les filtres :

    Pays + Nom du client par exemple

  6. #6
    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
    Bah justement tu prévois un moyen qui permette de les cumuler genre un bouton filtres (en général avec une image d'entonnoir) au dessus de ta JTable qui ouvre un JDialog ou un JPopupMenu d'ajout de filtre. Contenant la JComboBox et le JTextField, , un bouton d'ajout, plus une liste recensant les filtres déjà appliqués.

    De plus en générifiant suffisemmant la chose, tu pourras ajouter d'autre filtres que de simples filtres de comporaison directe de contenu. (genre aujouter filtre de tel type, puis configuration du filtre, ajout dans la liste des filtres appliqué et ainsi de suite.)

Discussions similaires

  1. Tableau avec tri, filtre et pagination avec entete et pied fixe
    Par Pelote2012 dans le forum Contribuez
    Réponses: 1
    Dernier message: 18/12/2016, 18h06
  2. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40
  3. [Swing][JTable]pb de header avec Model
    Par yoshï dans le forum Composants
    Réponses: 2
    Dernier message: 19/04/2006, 11h01
  4. [Excel] Filtre de colonne avec la valeur d'une cellule
    Par repié dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2006, 14h58
  5. [Mail] Problème d'affichage d'HEADERS avec mail();
    Par JeanMi66 dans le forum Langage
    Réponses: 3
    Dernier message: 17/01/2006, 06h46

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