Couleur ou image dans un DBgrid [Résolu]

Signaler
Messages postés
21
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Est-il possible de mettre dela couleur dans un DBgrid ? comment ?
une image ? comment ?

Merci

3 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Oups !
C'est OnDrawColumnCell qu'il faut utiliser, OnDrawDataCell est obsolète et n'est maintenu que pour des raisons de compatibilité.
Voir l'xemple fourni dans l'aide :
"L'exemple suivant change de manière conditionnelle la couleur de fonte des lignes d'une grille de données. Le code suivant est ajouté au gestionnaire d'événement OnDrawDataCell de la grille. Si la propriété Size du champ est supérieure à 10, la couleur de fonte de la ligne est en rouge."
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  if Table1.FieldByName('Size').AsFloat > 10 then
    DBGrid1.Canvas.Font.Color := clRed;
  DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;

Si c'est la couleur de fond de la cellule que tu veux changer :
DbGrid1.Canvas.Brush.Color := clRed;

Si tu veux ne colorier en jaune que la cellule sélectionnée :
if gdSelected in State then
DbGrid1.Canvas.Brush.Color := clYellow;
May Delphi be with you
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Pour la couleur, utiliser l'évènement OnDrawDataCell.
Il existe de précédentes réponses sur ce forum concernant cette question.
May Delphi be with you
Messages postés
21
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003

ok, mais est-ce que il est possible avec cette méthode de colorier une cellule celon son contenu ?

Merci