Admin Fondateur
Nombre de messages : 197 Age : 40 Localisation : Tlemcen ( Algérie ) Date d'inscription : 04/12/2006
| Sujet: formater l'affichage d'un champ dans un TDBGrid Mer 14 Fév - 3:09 | |
| Pour la mise en forme d'un champ dans un DBGrid, il faut ajouter du code dans l'événement OnDrawColumCell de celui-ci. Il faut par ailleurs penser à mettre la propriété DefaultDrawing à False pour que le code de l'événement soit exécuté.
L'événement OnDrawColumCell est appelé chaque fois qu'une cellule doit être dessinée, les paramètres Column et State nous permettent respectivement de connaître la colonne qui est en train d'être redessinée et l'état de la cellule (cellule fixe, cellule sélectionnée...).
Le code suivant est un exemple qui nous permet de mettre la première colonne en gras et en bleu, et la seconde en gras et en vert. - Code:
-
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin with DBGrid1.Canvas do begin //On teste la colonne case Column.Index of 0: begin //On change la police Font.Style := [fsBold]; Font.Color := clBlue; end; 1: begin //On change la police Font.Style := [fsBold]; Font.Color := clLime; end; end; //On écrit le texte TextOut(Rect.Left, Rect.Top, DBGrid1.Fields[DataCol].Text); end; end; | |
|