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 :

Edition automatique d'une cellule d'une JTable au clavier


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
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut Edition automatique d'une cellule d'une JTable au clavier
    Voilà en fait j'arrive très bien à éditer la celllule d'une JTable (et plus particulièrement d'une JXTable) avec la touche TAB du clavier mais c'est pour récupérer le bon Index de la ligne de la table !

    Le problème est que j'applique des filtres ainsi qu'un sorting à ma table, ce qui fait que la première ligne de ma JXTable n'est pas forcément celle portant l'indice 0.

    En gros, l'édition se passe normalement au début en cliquant sur une cellule avec la souris. Le fait d'appuyer sur la touche TAB du clavier permet de passer à la ligne du dessous et d'amener le focus directement dans la cellule ayant la même colonne que la ligne du dessus.

    Problème : Comment connaitre l'index de la ligne juste en dessous de celle que je suis en train d'éditer ?.

    De plus j'ai remarqué que la fonction editCellAt(int row, int column) finissait par tourner dans le vide au bout d'un moment, ce qui fait qu'on a une belle boucle sans fin.....

    Comment remédier à ce second problème ?

    Merci .

  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
    La solution tient dans les méthodes convertRowIndexToModel(int row)et convertRowIndexToView(int row) de la JXTable qui permettent de connaître l'index d'une ligne de la JTabl dans le modèle et inversement

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Exact je les utilise déja mais ca ne marche pas.

    Ces méthodes sont utiles lorsqu'il y a seulement un filtering mais vu que j'ai un sorting en plus et bien comme je l'expliquai la ligne 2 n'est pas forcément celle portant l'index numero 2 (en mode vue).

    Donc comment récupérer l'index de la ligne se trouvant dessous la ligne cliqué à la souris par l'utilisateur ?

    Faut-il que j'utilise la fonction rowAtPoint(int x, int y) dans une boucle while en faisant varier le Y (avec Y les coordonnées de la souris en Y) jusqu'à ce que l'index de la ligne retourné change ???

    Le problème viendra par la suite, lorsque j'arriverais en bas de ma JTable de retrouver l'index de la première ligne .


    Autre solution svp ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Tu utilises quel sorter pour ta JXTable ? Celui par défaut ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    oui c'est le sorter par défault avec différent type de sorting selon les colonnes.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Tu pourrais mettre le bout de code qui correspond à la déclaration de tes filtres et de ton rowsorter ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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