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 VCL Delphi Discussion :

TStringGrid évènement lors de la sortie d'une cellule


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut TStringGrid évènement lors de la sortie d'une cellule
    Bonjour,

    J'aimerais écrire un évènement lors de la sortie de l'édition d'une cellule d'une StringGrid dans le but d'enregistrer le texte dans un fichier.

    Je n'ai pas trouvé d'évènement exécuté uniquement à la validation du texte lorsque l'on termine l'édition de la cellule. L'évènement OnSetEditTexte est appelé à chaque frappe sur le clavier ce qui ne me convient pas.

    Merci pour vos solutions ou idées.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 579
    Points : 25 231
    Points
    25 231
    Par défaut
    OnSelectCell t'indique la selection d'une cellule
    Tu pourrais mémoriser la cellule précédente et lancer ton contrôle à ce moment !
    CanSelect pourrait servir à empecher la sortie de la cellule !
    Pense aussi à le gérer dans le OnExit

    Voir aussi jouer sur l'InplaceEditor !

    Sinon, pourquoi enregistrer à chaque modification ?
    Fait comme Excel, un bouton Enregistrer !
    C'est nettement plus léger et l'utilisateur comprend mieux ce qui se passe dans l'application, cela facilite aussi la possibilité d'annuler une modification et repartir avec la dernière version enregistrée en cas de mauvaise manip

  3. #3
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse.

    J'ai essayé d'utiliser InplaceEditor mais sans résultat concluant.

    J'ai donc utilisé les méthodes :
    - OnGetEditText pour setter un flag "CellEdited"
    - OnExit et OnSelectCell pour reseter le flag et sauvegarder la valeur.
    - OnSelectCell pour mémoriser la cellule précédente.

    Voilà en gros la méthode que j'ai utilisé. J’espérais pouvoir créer un event OnExitCell mais

    Stéphane

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

Discussions similaires

  1. [XL-2003] Déclencher un évènement lors de la saisie dans une cellule
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2010, 12h31
  2. Réponses: 3
    Dernier message: 19/08/2007, 02h04
  3. Réponses: 1
    Dernier message: 23/11/2006, 19h07
  4. Gestion des évènements lors d'un clique sur une image.
    Par yoghisan dans le forum Débuter
    Réponses: 7
    Dernier message: 23/06/2005, 19h04

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