Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DBgrid Farbe setzten (https://www.delphipraxis.net/165316-dbgrid-farbe-setzten.html)

t0mmy 23. Dez 2011 12:40

DBgrid Farbe setzten
 
Hallo!

Kann ich ein ganzes DBGrid in farbe setzten? oder ist das mit dem normalen Steuerelement nicht möglich?

himitsu 23. Dez 2011 12:54

AW: DBgrid Farbe setzten
 
Ähhhhh, ja, nein und vielleicht.


Was genau willst du denn eigentlich einfärben?

Piethan 23. Dez 2011 14:32

AW: DBgrid Farbe setzten
 
Ich weiß nicht was du machen möchtest, aber so färbe ich einzelne Zellen.

Delphi-Quellcode:
procedure Tfrm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    if (State * [gdSelected, gdFocused, gdFixed] = []) then
  begin
    // Hintergrund des Feldes Status einfärben
    if (Column.Field.FieldName='TYP') then
    begin
      case Column.Field.AsInteger of
       1: DBGrid1.Canvas.Brush.Color := clYellow;
       3: DBGrid1.Canvas.Brush.Color := clSkyBlue;
       4: DBGrid1.Canvas.Brush.Color := clteal;
      end;
    end;
    if (Column.Field.FieldName='KORREKT') then
    begin
      case Column.Field.AsInteger of
       1: DBGrid1.Canvas.Brush.Color := clBlack;
      end;
    end;

    if (Column.Field.FieldName='STORNO') then
    begin
      if (Column.Field.AsInteger > 0) then
        DBGrid1.Canvas.Brush.Color := clRed;
    end;

    if (Column.Field.FieldName='KOSTENLOS') then
    begin
      if (Column.Field.AsInteger > 0) then
        DBGrid1.Canvas.Brush.Color := clRed;
    end;

    {
    // Schriftfarbe des Feldes EATyp setzen
    if (Column.Field.FieldName='EATyp') then
    begin
      case Column.Field.AsInteger of
       1: DBGrid1.Canvas.font.Color := clYellow;
       3: DBGrid1.Canvas.font.Color := clGreen;
       4: DBGrid1.Canvas.font.Color := clRed;
      end;
      DBGrid1.Canvas.font.Style := DBGrid1.Canvas.font.Style + [fsBold]; // fett
    end;}

    DBGrid1.Canvas.fillRect( rect );
  end;
  DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); // Text ausgeben lassen
end;

ConnorMcLeod 23. Dez 2011 16:06

AW: DBgrid Farbe setzten
 
Die komplette Hintergrundfarbe eines TDbGrid ändern:
Delphi-Quellcode:
var
  li: integer; // SZ
begin
    for li := 0 to dgGrid.Columns.Count - 1 do
    begin
      dgGrid.Columns[li].Color := clWindow;                                   //
    end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.

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-2025 by Thomas Breitkreuz