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

JavaFX Discussion :

evenement mise à jour d'une colonne de tableview


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut evenement mise à jour d'une colonne de tableview
    Bonjour
    J'ai une tableview alimenté par une jpa.
    Nom : Sans titre.png
Affichages : 113
Taille : 7,9 Ko
    Je veux traiter la mise à jour d'un champ. Mais l’évènement OnEditCommit est disponible seulement avec la touche "entrée" du clavier. Je perd la modification si je clique ailleurs.
    Comment faire alors pour récupérer les modifications d'un champ si je passe à un autre champ?
    Merci d'avance.
    @+

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Quelques éléments de réponse datant de 2014 et 2015 (donc je sais pas ou ça en est actuellement) trouves sur StackOverflow : How to enable commit on focusLost for TableView/TreeTableView? et TableView doesn't commit values on focus lost event.
    Le code présent dans le didacticiel d'Oracle indique également une possibilité d’édition via perte de focus (chercher le mot "expected" dans le tutorial et voir le code juste après).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Merci Bouyé
    Je suis sur vos solutions depuis ce matin.
    J'ai opté pour la solution du didacticiel d'oracle. Elle marche bien avec la perte de focus mais la touche "entrée" du clavier est inhibée dans le textfield.
    J'essaye de comprendre le principe (dis mois si je me goure)....
    • utilisation d'un textfield comme gestionnaire d'édition
    • ajout d'un listener pour la perte de focus, qui traite la mise à jour
      Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      private void createTextField() {
              textField = new TextField(getString());
              textField.setMinWidth(this.getWidth() - this.getGraphicTextGap()* 2);
              textField.focusedProperty().addListener(new ChangeListener<Boolean>(){
                  @Override
                  public void changed(ObservableValue<? extends Boolean> arg0, 
                      Boolean arg1, Boolean arg2) {
                          if (!arg2) {
                              commitEdit(textField.getText());
                          }
                  }
              });
          }

    Je pense que pour activer la touche "entrée" il me faut trouver un listener pour l'"activation de la touche entrée".
    J'étudie actuellement le composant textfield.
    @+

  4. #4
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    J'ai pu activer la touche "entrée"...
    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void createTextField() {
            textField = new TextField(getString());
            textField.setMinWidth(this.getWidth() - this.getGraphicTextGap()* 2);
            textField.focusedProperty().addListener(new ChangeListener<Boolean>(){
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, 
                    Boolean arg1, Boolean arg2) {
                        if (!arg2) {
                            commitEdit(textField.getText());
                        }
                }
            });
            textField.setOnAction(event -> commitEdit(textField.getText()));
        }
    Mais il reste à parfaire les tabulations
    Merci et @+

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

Discussions similaires

  1. [AC-2003] Mise à jour d'une colonne par une autre colonne
    Par candrau dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 17/06/2011, 09h48
  2. Réponses: 3
    Dernier message: 25/11/2010, 11h59
  3. Réponses: 7
    Dernier message: 20/08/2009, 01h48
  4. [O10g] Requête de mise à jour d'une colonne
    Par davasm dans le forum SQL
    Réponses: 2
    Dernier message: 07/04/2009, 09h02
  5. [MySQL] Mise à jour d'une colonne.
    Par kifouillou dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 31/03/2008, 11h15

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