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

AWT/Swing Java Discussion :

[swingx] changer la place d'une colonne dans un jxtable ?


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut [swingx] changer la place d'une colonne dans un jxtable ?
    Bonjour a tous,

    est il possible de setter l'index d'une colonne dans un jxtable a partir du nom de la colonne ?

    Le but final étant d'enregistrer dans un fichier de conf la position des colonnes pour les remettre dans l'ordre qu'a choisit l'utilisateur à la dernière utilisation du programme.

    Pour récupérer l'index de la colonne j'utilise la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    majxtable.convertColumnIndexToView(number_colonne_model);
    number_colonne_model correspondant a l'index de la colonne de mon model qui lui ne change pas.

    Par contre je n'ais pas trouvé la méthode pour setter l'index de la colonne de ma jxtable !(changer la place de ma colonne dans la jxtable)

    Avez vous une petite idée ?
    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Up

    Personne n'as d'idée ?

  3. #3
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 114
    Par défaut
    tu recupere le modele de colonne dans un premier temps.
    puis tu trouve la methode qui correspond ici :
    http://java.sun.com/j2se/1.4.2/docs/...lumnModel.html

    ca ne devrait pas etre trop dur

  4. #4
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Les méthode, je peux les chercher avec netbeans directement donc ça ne sert a rien de m'envoyer sur le site de sun (d'ailleurs j'ais cherché dans a peu près toute les méthodes avec netbeans et je n'ais pas trouvé, c'est pour ça que je fais appel à vous).


    j'ai tout de même l'impression que tu n'as pas lu mon topic , je demande une methode pour changer la place de ma colonne dans ma jxtable, pas dans ma table_model.


    Avec la jxtable, (j'ais fais le test) il est possible de changer avec la souris la place de la colonne sans que ça change la place de la colonne correspondante dans le table_model. J'aimerais faire parreil mais de manière codé !



    Merci d'avance

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    1. Du calme
    2. Es tu réellement allé sur le lien qu'eclesia t'as donné, car il ne s'agit pas du TableModel... mais du TableColumnModel que tu peux obtenir à travers le JTableHeader de ta J(X)Table. Or cette interface définit deux méthodes donnant soit l'index de la colonne identifiée par l'objet passé en paramètre, soit l'identifiant de la colonne correspondant à la colonne d'inex passé en paramètre.En sauvegardant ces paramètres, tu peux parfaitement ordonnancé ton TableModel quand tu le crées pour conserver l'ordre de la session précédente.
    3. Tu peut redéfinir ton propre TableColumnModel pour setter l'ordre de colonnes
    4. Un peu moins d'obtuositer je te prie.

  6. #6
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Citation Envoyé par sinok
    1. Du calme
    2. Es tu réellement allé sur le lien qu'eclesia t'as donné, car il ne s'agit pas du TableModel... mais du TableColumnModel que tu peux obtenir à travers le JTableHeader de ta J(X)Table. Or cette interface définit deux méthodes donnant soit l'index de la colonne identifiée par l'objet passé en paramètre, soit l'identifiant de la colonne correspondant à la colonne d'inex passé en paramètre.En sauvegardant ces paramètres, tu peux parfaitement ordonnancé ton TableModel quand tu le crées pour conserver l'ordre de la session précédente.
    3. Tu peut redéfinir ton propre TableColumnModel pour setter l'ordre de colonnes
    4. Un peu moins d'obtuositer je te prie.
    Désolé je ne voulais avoir l'air agressif, en tout cas je ne le suis vraiment pas, et si je le suis je m'en excuse.

    Pour ce qui est du lien, j'ais effectivement été le voir, mais je pensais réellement que cela jouais sur le tablemodel et pas sur la jxtable...

    Je vous remercie de votre aide, je vais tester ça et voir si j'y arrive. Auquel cas je reviendrais vers vous en essayant de ne pas avoir l'air agressif

    [mode je ne veux pas être agressif même si je le parrait]
    Petite question indiscrète aux modérateur : travaillez vous pour le site developpez ou faites vous ça pour le plaisir ? Parceque j'ais l'impression que vous êtes toutes la journée sur le fofo... et je me demande comment vous faites pour vivre dans ce cas là ! En tout cas merci d'être autant présent sur le fofo !
    [/mode je ne veux pas être agressif même si je le parrait]

  7. #7
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Citation Envoyé par sinok
    Es tu réellement allé sur le lien qu'eclesia t'as donné, car il ne s'agit pas du TableModel... mais du TableColumnModel que tu peux obtenir à travers le JTableHeader de ta J(X)Table. Or cette interface définit deux méthodes donnant soit l'index de la colonne identifiée par l'objet passé en paramètre, soit l'identifiant de la colonne correspondant à la colonne d'inex passé en paramètre. En sauvegardant ces paramètres, tu peux parfaitement ordonnancé ton TableModel quand tu le crées pour conserver l'ordre de la session précédente.
    Donc au final on change bien l'ordre des colonnes du tablemodel...
    Or je veux juste changer l'ordre des colonnes dans la jXtable pas dans le tablemodel.

    Je sais je suis chiant En fait j'ai besoin que mes colonnes de mon tablemodel soit toujours a la même position

    Avez vous un exemple de code. Qui illustre ce que vous me conseillez de faire ?

  8. #8
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Au final j'ai finis par la trouver cette méthode !

    Et c'est : Bin allez voir dans la doc comme dirais les autres ^^











    Non je déconne !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    majxtable.moveColumn(index, newindex)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Cf point 3 de mes propositions précédentes.

  10. #10
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Citation Envoyé par sinok
    Cf point 3 de mes propositions précédentes.
    Est ce que tu aurais un exemple de code plz
    Je suis débutant en java et je ne vois pas trop comment faire ton 3

  11. #11
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    SVP Comment redéfinir un TableColumnModel pour setter l'ordre de colonnes ?
    Je ne trouve aucun tuto sur le web

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bon en fait il y a un peu beaucoup plus simple...

    L'interface TableColumnModel définit une méthode du nom de moveColumn(int columnIndex, int newIndex)...

    J'avais complètement zappé cette méthode et pourtant

    DOnc tu sais ce qu'il te reste à faire: récupérer le TableColumnModel depuis le JtableHeader de ta JTable et faire moveColumn...

  13. #13
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 114
    Par défaut
    L'interface TableColumnModel définit une méthode du nom de moveColumn(int columnIndex, int newIndex)...
    comme quoi, je sais encore ce que je dit.
    * retourne redefinir son JXTreeTable avec drag and drop, popup modulable, header personnalise, la totale*

    ps : desole pour les accents sinok, je suis encore sous opera

  14. #14
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Citation Envoyé par sinok
    Bon en fait il y a un peu beaucoup plus simple...

    L'interface TableColumnModel définit une méthode du nom de moveColumn(int columnIndex, int newIndex)...

    J'avais complètement zappé cette méthode et pourtant

    DOnc tu sais ce qu'il te reste à faire: récupérer le TableColumnModel depuis le JtableHeader de ta JTable et faire moveColumn...
    Lol c'est ce que j'ai dis 3 posts plus haut ! .... >>
    Comme quoi vous ne lisez pas a fond les topics !


    Citation Envoyé par lex13
    Au final j'ai finis par la trouver cette méthode !

    Et c'est : Bin allez voir dans la doc comme dirais les autres ^^











    Non je déconne !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    majxtable.moveColumn(index, newindex)

    Au final voila ce que ça donne http://www.developpez.net/forums/sho...90#post2261290 (Regardez en bas du topic !)
    Je pense que ça peut etre optimisé mais bon on verra plus tard !



    Citation Envoyé par eclesia
    comme quoi, je sais encore ce que je dit.
    * retourne redefinir son JXTreeTable avec drag and drop, popup modulable, header personnalise, la totale*
    Hein ? ! J'ai rien compris àa ce que tu as dis là ! Pourquoi tu parle de JXtreetable ! moi je parle de JXtable

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/02/2011, 18h39
  2. SQL-Server changer le nom d'une colonne dans une table .
    Par silset dans le forum Développement
    Réponses: 2
    Dernier message: 31/10/2009, 23h34
  3. Réponses: 2
    Dernier message: 09/09/2009, 14h08
  4. Réponses: 2
    Dernier message: 18/06/2009, 15h09
  5. [sql 2005]: changer le nom d'une colonne dans un table
    Par TheLittle dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2006, 15h29

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