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 :

[JTable] Filtre sur JTable


Sujet :

Composants Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut [JTable] Filtre sur JTable
    Bonjour,
    je maintiens une application dans laquelle il y a deux JTables affichant toutes les deux le même modèle. Je voudrais que ma deuxième JTable n'affiche que certaines lignes de la première et conserver cependant le synchronisme entre les deux (quand je sélectionne une ligne sur une, la ligne correspondante est sélectionnée sur l'autre et elles n'ont pas forcément la même position dans les deux).
    J'ai déja essayé d'affiché un modèle différents dans les deux (correspondant à ce que je veux) mais je perds la synchro (je sélectionne la ligne 4 dans la deuxième et la ligne 4 est selectionnée dans le première alors que ca aurait du être la ligne 8 par exemple.
    D'avance merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    Personne n'a d'idée ...
    Est-ce qu'il est possible de forcer la methode getValueAt(lig,col) à n'afficher que certaines lignes de la JTable ?

  3. #3
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut
    j'ai peur de te dire une connerie et de t'envoyer dans une mauvaise direction mais il me semble que le hashtable de permettre de mettre des cles et par la methode equals comparer 2 hash....
    a voir...

  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
    Surement te diriger vers la JXTable du projet swingx qui posède un mécanisme de filtrage intégré

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    Ouais, pas mal de monde en parle sur le forum mais je suis allé voir le projet et il me semble que ce genre de filtrage ne se fait que sur les colonnes afin a ce que j'en ai compris ...

  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
    Absolument pas, pour les colonnes celà correspond à un simple état visible/ caché, mais pour les lignes il y a tout un mécanisme de filtre paramétrable (PatternFilters et tt le toutim)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    T'aurais pas une bonne adresse de tutoriel par exemple svp ...

  8. #8
    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

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    Merci.

    Pour ce que ca interesse, en voila un autre bien détaillé :

    http://www.javalobby.org/java/forums/t18819.html

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    Bonjour,
    je réouvre le poste car tout ne va pas bien.
    En ce qui concerne le filtrage des lignes, ca marche impeccable avec la JXTable.
    Par contre, j'ai toujours le problème de "désynchronisation" entre maintenant ma JTable et ma JXTable.
    La ligne 2 de ma JXTable filtrée correspond a la ligne 8 de ma JTable et quand je selectionne sur ma JXTable la ligne 2 et ben c'est aussi la ligne 2 de la JTable qui est sélectionnée au lieu de la 8.
    Quelqu'un aurait-il une autre bonne idée ?
    D'avance merci.

  11. #11
    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
    Pour la synchro avec la JXtable il faut se base sur les valeurs (de lignes et colonnes) contenues dans le model de la JXtable et non dans la JXtable elle même (il existe un mécanisme dans la JXtable permettant de traduire avec les méthodes convertRowIndexToModel et convertRowIndexToView )

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    quand je ne mets pas le filtre sur la table, la synchro est bonne entre mes 2 tables et quand je le mets c'est la que ca deconne.
    Pourtant le filtre n'agit pas sur le modèle mais juste sur le "rendu" de la JTable non ?

  13. #13
    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
    On est d'accord, mais pour faire la relation entre les lignes à sélectionner tu dois récupérer le numéro de ligne de ta Table qqpart, et donc de ce fait il faut jouer avec les valeurs des lignes dans le model qui sont fixes alors que celles de la JTable sont fluctuante


    Ex

    Sans filtre:
    JTable: ligne sélectionnée: 8 <-> Model ligne 8
    JXTable: ligne sélectionnée: 8 <-> Model ligne 8

    Avec Filtre
    JTable: ligne sélectionnée: 8 <-> Model ligne 8
    JXTable: ligne sélectionnée: 2 <-> Model ligne 8

    Donc pour référentiel tu dois prendre le model et non la JXtable

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    Bonjour,
    mon problème avance doucement, la récupération de l'index qui va bien marche. Cependant, g un problème pour le faire passer (l'index) d'une table a l'autre. Je m'explique :

    ResultTable.java est la classe decrivant la Jtable
    CheckingTable.java est la classe decrivant la JXTable

    IView est l'interface commune d'affichage qui est implémentée suivant le cas par ResultView.java ou CheckingView.java.

    Or quand je récupère l'index qui va bien dans une des deux "views" comment puis-je le faire connaitre à l'autre vu que je n'ai jamais accès au deux en même temps.

    J'espère avoir été clair.

    Merci.

Discussions similaires

  1. Filtre sur Jtable
    Par hugoclo dans le forum Composants
    Réponses: 2
    Dernier message: 21/11/2014, 04h18
  2. Filtre double sur JTable
    Par nddvlp dans le forum Composants
    Réponses: 2
    Dernier message: 14/02/2012, 16h50
  3. Filtres sur JTable
    Par aliasjcdenton dans le forum Composants
    Réponses: 2
    Dernier message: 06/12/2010, 15h30
  4. Listener sur JTable
    Par calypso dans le forum Composants
    Réponses: 3
    Dernier message: 05/02/2009, 17h27
  5. [JTable] Tri sur JTable
    Par Sallie dans le forum Composants
    Réponses: 2
    Dernier message: 07/01/2008, 01h25

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