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 :

Évènements OnSetEditText pour une plage limitée d'un StringGrid


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Par défaut Évènements OnSetEditText pour une plage limitée d'un StringGrid
    J’ai un StringGrid avec 3 colonnes. Les 2 première colonnes contiennent les données et la 3éme recevra les résultats (somme de colonne 1 et 2 pour simplifier); ce que je veux c'est qu'au changement du contenu des cellules des colonnes 1 et 2, celles de la colonne 3 reçoivent automatiquement le calcul.
    Q1: est ce que c'est possible de rendre la colonne de résultats en lecture seule? Q2: est-il possible de programmer l’évènement OnSetEditText de sorte qu'il se déclenche seulement quand on modifie les données de la colonne 1 et 2 et pas 3?

  2. #2
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Bonjour

    rendre la colonne de résultats en lecture seule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm9.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    begin
      if ACol=2 then // Mets la colonne 2 en lecture seule
        StringGrid1.Options:=StringGrid1.Options-[goEditing]
      else  // Rend l'édition possible
        StringGrid1.Options:=StringGrid1.Options+[goEditing]
    end;
    est-il possible de programmer l’évènement OnSetEditText de sorte qu'il se déclenche seulement quand on modifie les données de la colonne 1 et 2 et pas 3?
    Il suffit d'effectuer le calcul du résultat si l'on est pas en colonne 3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm9.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
      const Value: string);
    begin
      if ACol <> 3 then
        begin
     
        end;
    end;

  3. #3
    Membre chevronné

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Par défaut
    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/06/2009, 10h59
  2. Réponses: 3
    Dernier message: 06/03/2009, 21h24
  3. Plusieurs évènements javascript pour une même action
    Par niacinside dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/06/2008, 14h56
  4. Réponses: 11
    Dernier message: 05/06/2008, 11h04
  5. Réponses: 4
    Dernier message: 16/11/2006, 10h08

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