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 :

Comment récuperer qu'une cellule a changé de valeur ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    920
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 920
    Par défaut Comment récuperer qu'une cellule a changé de valeur ?
    Bonjour,
    J'ai programmé un écran qui comprend une table et un panel donnant le détail de la liste sélectionnée. La table et le panel sont éditables et quand je modifie l'un je dois mettre à jour l'autre.
    Pas de problème quand je modifie le panel et qu'il faut mettre à jour la table: je passe par le fireTableCellUpdated du getModel de la table.
    Par contre dans l'autre sens, ça coince.
    Je ne vois quel listener je pourrais mettre sur la table ou son modèle pour être avertit que des données ont changé dans la table suite à une action de l'utilisateur dans la table.

    • Est-ce que je dois enregistrer un propertyChangeListener sur "value" par exemple et ensuite récupérer getSelectedRow, get SelectedColumn ?
    • Faut-il que je déclenche moi-même un event dans le valueChanged de la table via un firePropertyChange par exemple ?
    • ...


    J'ai le sentiment que quelque chose existe, mais je ne trouve pas quoi !

    MErci,

    Laurent

  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
    Probablement en passant par un TableModelListener qui permet d'écouter tous les changements se passant sur le modèle

  3. #3
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    920
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 920
    Par défaut
    Merci mais en fait non ! Les seuls event que je reçois en changeant la valeur d'une de mes cellules sont deux propertyChange "tableCellEditor" pour me dire que je passe de null à mon editor et ensuite de mon editor à null(*). Et aucun TableModelEvent.
    Donc aucun event pour le changement de valeur. Je n'ai pas vérifié dans les JXTable et autres... C'est étrange.
    J'ai simplement créé et implémenté un CellValueChangeListener que je déclenche dans le editingStopped de ma JTable. Je ne sais pas si c'est la meilleur méthode, mais ça marche. Je suis ouvert à d'autres idées.


    (*) 2 events car mes cellules sont dans une sorte d'autocommit, car il s'agit de toggles: le mouseclick sur la table déclenche un editCellAt(,) pour passer en mode édition puis j'intercepte le propertyChange de l'editor où je fais un stopEditing et donc je re-passe en mode renderer, tout ça en un click.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/10/2007, 15h09
  2. Comment écrire dans une cellule la fonction SUM en vba?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/02/2007, 19h24
  3. Réponses: 2
    Dernier message: 12/05/2006, 10h28
  4. comment passer d'une cellule à une autre
    Par khier dans le forum Composants VCL
    Réponses: 2
    Dernier message: 01/04/2006, 17h35
  5. comment passer d'une cellule dbgrid
    Par khier dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/03/2006, 12h07

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