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

Bases de données Delphi Discussion :

controle d'un click sur DBGRID


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 34
    Points : 30
    Points
    30
    Par défaut controle d'un click sur DBGRID
    Bonjour,
    j'utilise un DBGRID dans lequel l'utilisateur doit faire son choix a l'aide d'un click sur la ligne correspondant au champ choisi.

    Comment controler qu'un click a bien été fait ?

    D7 PRO : ADO TTABLE - -ACCESS

    Merci de votre aide
    Alain

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Bonjour,

    La DBGrid ne te permet pas d'accéder à la propriété OnClick (qui correspond à l'évènement que tu cherches). En réalité, c'est une propriété protégée donc si tu veux y accéder, il faudra dériver une classe et faire un transtypage.

    En gros, cà donne ceci (tu mets cela dans l'unté où tu désires accéder à la propriété):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    type
     
    TDBGridClick = class (TDBGrid); //Pour avoir accès à la propriété protégée
     
    (*OnCLick est de type TNotifyEvent donc, dans ta fiche tu définis une méthode que tu assigneras à ton composant*)
     
    TForm1 = class(TForm
    //...
    private
       procedure CLickSurDBGrid(Sender : TObject);
    public
    end;
     
    //A la création de la fiche, tu assignes l'évènement....
    TDBGridOnClick(DBGrid1).OnClick := CLickSurDBGrid;
    Il te faudra aussi utiliser la structure TgridCoord pour connaître exactement là où tu as cliqué.

    Cette technique, bien que déconseillée, est utilisée chaque fois que l'on a besoin d'accéder à un membre protégé d'une classe.

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 34
    Points : 30
    Points
    30
    Par défaut
    Merci pour cette réponse aussi rapide !
    Je vais donc essayer cette méthode, à moins que je puisse contourner l'obstacle!
    Cordialement
    ALain

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

Discussions similaires

  1. Evenement click sur controle webbrowser
    Par mp280272 dans le forum VB.NET
    Réponses: 0
    Dernier message: 14/01/2010, 00h06
  2. [AC-2003] simuler click sur bouton dans "on exit" d'un controle
    Par tchayapluk dans le forum IHM
    Réponses: 0
    Dernier message: 16/11/2009, 07h18
  3. Réponses: 1
    Dernier message: 28/01/2009, 15h33
  4. BDD double click sur une DBGrid
    Par chamamo dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/10/2006, 16h20
  5. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 11h45

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