Admin Fondateur
Nombre de messages : 197 Age : 40 Localisation : Tlemcen ( Algérie ) Date d'inscription : 04/12/2006
| Sujet: afficher un DBMemo pour la saisie d'une cellule d'un DBGrid Mer 14 Fév - 2:54 | |
| Le DBMemo sera affiché lors de la saisie d'un champ d'une DBGrid par un double-click sur la cellule ou l'appui sur le bouton '...'. En premier lieu pour afficher le bouton '...' dans la cellule il faut mettre à cbsEllipsis la propriété ButtonStyle de la colonne.
Ensuite il faut renseigner les évènements OnEditButtonClick et OnDrawColumnCell de la grille : - Code:
-
procedure TForm1.DBGrid1EditButtonClick(Sender: TObject); begin With DbMemo1 Do Begin Visible:=True; SetFocus; End; end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If (gdSelected In State)And(DataCol=1) Then Begin DBMemo1.Left:= DBGrid1.Left+Rect.Left; DBMemo1.Top := DBGrid1.Top +Rect.Top; End; end; Et placer le code suivant dans l'évènement OnExit du DBMemo et AfterPost/AfterCancel du DataSet lié à la grille : - Code:
-
DBMemo1.Visible:=False; | |
|