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] filtrer les données


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Par défaut [JTable] filtrer les données
    Bonjour,

    je souhaite filtrer les données d'une JTable au moyen d'un JComboBox. Cependant, j'aimerais utiliser le modèle MVC, donc masquer uniquement les lignes non désirées. Cela est-il possible? Ou dois-je récupérer à nouveau mes données ("filtrées") dans ma base de données.

    Merci.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Sur un problème similaire, j'ai utiliser le design pattern decorator, afin de ne pas modifier mon model de base.
    Dans le principe, j'avais créer un nouveau model, contenant un tableau de booléens aussi grand que la taille du tableau dans le modèle décoré. Le JComboBox modifie ensuite le modèle décorateur.
    Dans les surcharges des méthodes pour le décorateur, "getRowCount" prend en compte les valeurs booléennes, et "getValueAt" ignore les lignes à ne pas prendre en compte.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Par défaut
    Tout d'abord, merci pour la réponse.

    Ensuite, je voulais savoir si il était possible par ce moyen de modifier les valeur de mes données : vais-je retrouver la correspondance entre les lignes si le modèle est filtré?

    Merci

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par nanourene Voir le message
    Ensuite, je voulais savoir si il était possible par ce moyen de modifier les valeur de mes données : vais-je retrouver la correspondance entre les lignes si le modèle est filtré?
    Je ne comprend pas bien ta question. Avec un exemple, ce serait plus clair.
    Avant filtrage :
    ligne 1 : a
    ligne 2 : b
    ligne 3 : a
    ligne 4 : b

    Après filtrage (suppression des b):
    ligne 1 : a
    ligne 2 : a

    Il n'est pas question, après filtrage, de conserver la numérotation 1 et 3 pour les "a". Les "b" ont disparus du point de vue du modèle, ils sont filtrés.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Par défaut
    Les données de ma JTable sont stockées dans un vecteur de vecteur (Vecteur<Vecteur>).

    Si je filtre ma JTable, les données dans mon vecteur restent inchangées, par contre pas celle de la JTable.

    Un petit exemple :

    ComboBoxFiltre : Tous
    ligne 1 -> a | val1
    ligne 2 -> b | val2
    ligne 3 -> a | val3
    ligne 4 -> b | val4

    ComboBoxFiltre : a
    ligne 1 -> a | val1
    ligne 2 -> a | val3

    Modification dans la JTable
    ComboBoxFiltre : a
    ligne 1 -> a | val1
    ligne 2 -> a | nouvelle valeur


    Et maintenant, si je reviens en situation de départ, j'obtiens :
    ComboBoxFiltre : Tous
    ligne 1 -> a | val1
    ligne 2 -> b | val2
    ligne 3 -> a | nouvelle valeur
    ligne 4 -> b | val4

    ou alors

    ComboBoxFiltre : Tous
    ligne 1 -> a | val1
    ligne 2 -> b | nouvelle valeur
    ligne 3 -> a | val3
    ligne 4 -> b | val4

    Merci.

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Je ne comprend pas ce que tu ne comprends pas
    La JTable ne contient aucune donnée. Toute modification via la JTable se trouve reportée dans le modèle. La notion de numéro de ligne dans la JTable n'a d'intérêt que pour l'utilisateur. En "interne", à l'insu du plein gré de l'utilisateur, les modifications se feront sur les bonnes lignes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtrer les données reçues
    Par cryborg dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 20/07/2006, 16h36
  2. SQL*Loader : filtrer les données chargées
    Par gattaca dans le forum Oracle
    Réponses: 2
    Dernier message: 13/07/2006, 09h51
  3. [JTable] modifier les données à postériori
    Par SheikYerbouti dans le forum Composants
    Réponses: 4
    Dernier message: 09/02/2006, 12h19
  4. [JTABLE]trier et filtrer les données d'une jTable
    Par mehdi82 dans le forum Composants
    Réponses: 4
    Dernier message: 15/12/2005, 17h59
  5. [JTable] Changer les données
    Par norkius dans le forum Composants
    Réponses: 12
    Dernier message: 27/01/2005, 14h51

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