Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBGrid1 färben (https://www.delphipraxis.net/160040-dbgrid1-faerben.html)

mkinzler 29. Apr 2011 11:33

AW: DBGrid1 färben
 
Den dieser Callback wird ja für jede Zelle aufgerufen un du überprüft/zeichnest nur bei Zellen einer Spalte

Alterauge 29. Apr 2011 12:44

AW: DBGrid1 färben
 
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if DBGrid1.DataSource.DataSet.FieldByName('STATUS').Value = 'Erfasst' then begin
    DBGrid1.Canvas.Brush.Color := clYellow;
    DBGrid1.Canvas.Font.Color := clred
  end else begin
    DBGrid1.Canvas.Brush.Color := clWhite;
    DBGrid1.Canvas.Font.Color := clblack
  end;
  DBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
so geht es ! Danke !

wie gehe ich weiter vor, wenn ein zweiter wert 'beendet ' in grün angezeigt werden soll?

DeddyH 29. Apr 2011 12:48

AW: DBGrid1 färben
 
Einfach eine else if-Bedingung dazwischensetzen. In dem Fall sollte man die Zwischenavariable aber wohl besser wieder einführen, die ich weggekürzt hatte.
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Wert: string;
begin
  Wert := DBGrid1.DataSource.DataSet.FieldByName('STATUS').Value;
  if Wert = 'Erfasst' then begin
    DBGrid1.Canvas.Brush.Color := clYellow;
    DBGrid1.Canvas.Font.Color := clred;
  end else if Wert = 'beendet' then begin
    DBGrid1.Canvas.Brush.Color := clWhite;
    DBGrid1.Canvas.Font.Color := clGreen;
  end else begin
    DBGrid1.Canvas.Brush.Color := clWhite;
    DBGrid1.Canvas.Font.Color := clblack;
  end;
  DBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz