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 - annulation ou réapplication d'un tri


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut JTable - annulation ou réapplication d'un tri
    Bonjour,
    J'ai une JTable avec des données, et aprés un rafraîchissement des données, je n'arrive pas à trouver un moyen d'annuler (réinitialisation des tableheaders) ou de rafraîchir un tri qui a été effectué à partir d'un clic sur une en-tête de colonne...
    En modifiant le vector des données, j'effectue un fireTableDataChanged sur le table model, ça me change bien les données dans ma JTable, mais en vrac, le tri est perdu alors que l'en-tête de colonne indique toujours qu'un tri est actif.
    Ca me paraît être un problême tout bête mais je n'ai encore rien trouvé par google...
    Comment annuler le tri soit disant actif ?
    Ou comment dire au JTable "hé... refais moi un tri sur ce qu'il a en ce moment dans la JTable" ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut
    J'ai essayé les instructions suivantes mais sans succés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    coTable.updateUI();
    coTable.repaint();
     
    coTable.getTableHeader().updateUI();
    coTable.getTableHeader().repaint();
     
    coTable.sortColumn(null);
    coTable.sortColumn(-1);
     
    coTable.sorterChanged(new RowSorterEvent(null));
    L'instruction sortColumn est celle qui se rapproche le plus de ce que je cherche mais le signe "ascendant"/"descendant" reste visible sur la colonne où le filtre s'appliquait, même si le header de cette colonne n'est plus en état enfoncé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut

    Décidement... pas moyen de trouver.
    Est-ce si compliqué que ça ?
    Si quelqu'un a une piste ou l'instruction, merci de me poster l'information.

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, tu devrais utiliser une des 3 méthodes de tri java.util.Collections.sort afin de trier ton Vector directement

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut
    Merci. J'y ai pensé, mais cela ne fait que reporter mon problème car dans ce cas, je dois savoir sur quel colonne s'applique le tri et son sens... Ca me paraissait plus compliqué à trouver que d'annuler tout les tris du Jtable.
    Je sais faire tout ça en C#, mais en Java je n'arrive pas à mettre la main sur une instruction du type <reset sorting>, <reset header>, <resort>. J'ai l'impression d'être un peu à la masse à chercher sans trouver un truc aussi basique.
    Une autre piste à me suggérer ?

  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
    Citation Envoyé par swonder Voir le message
    J'ai l'impression d'être un peu à la masse à chercher sans trouver un truc aussi basique.
    A la masse, non. J'ai le même problème sur une application. Un bouton permet de rendre visible/invisible les lignes sélectionnées et le tri est perdu. J'ai cherché un peu, sans résultat. Pour le moment j'ai laissé le bug ouvert
    Au départ, j'utilisais la JXTable du projet SwingX, qui n'a pas ce problème.
    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.

  7. #7
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Après quelques recherches, j'ai trouvé table.getRowSorter pour obtenir l'objet responsable du tri. Par contre il est indiqué que si le modèle de données change, la méthode modelStructureChanged et le tri est refait, ce qui devrait être ton cas.

    Peut-être que cela peut t'aider à avancer? que se passe-t-il si tu invoques toi mêmes cette méthode? (même si ce n'est pas son but comme indiqué dans la javadoc)

Discussions similaires

  1. Tri JTable
    Par tit_oune dans le forum Composants
    Réponses: 4
    Dernier message: 12/04/2006, 16h14
  2. [JTable] Tri des données
    Par soulhouf dans le forum Composants
    Réponses: 7
    Dernier message: 08/09/2005, 14h01
  3. [JTable] tri alphabétique
    Par clairette dans le forum Composants
    Réponses: 1
    Dernier message: 27/07/2005, 11h09
  4. [JTable] Annuler le deplacement des colonnes
    Par tit_henry dans le forum Composants
    Réponses: 4
    Dernier message: 11/05/2005, 17h42
  5. [JTable] Tri des colonnes
    Par djskyz dans le forum Composants
    Réponses: 10
    Dernier message: 17/03/2005, 10h14

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