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
Version imprimable
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
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é):
Il te faudra aussi utiliser la structure TgridCoord pour connaître exactement là où tu as cliqué.Code:
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;
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+
Merci pour cette réponse aussi rapide !
Je vais donc essayer cette méthode, à moins que je puisse contourner l'obstacle!
Cordialement
ALain