Autor Beitrag
Vidocq
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 07.01.03 15:25 
Kann man in DBGrid einzelne Rows einfarben ???

_________________
Viele gruesse aus Kroatien !!!
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 07.01.03 15:55 
Hi und herzlich willkommen
Dazu musst du die Eigenschaft DefaultDrawing auf False setzen und eine Routine für das Ereignis OnDrawColumnCell bereitstellen. In kleines Beispiel:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TfrmDesigner.grdDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  with grd.Canvas do begin
    if  tbl.RecNo mod 2 = 0 then
      Brush.Color  := clYellow
    else
      Brush.Color  := clAqua;
    FillRect(Rect);
  end;
  grd.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

Damit wird das Gitter grd für die Tabelle tbl abwechselnd Blau und Gelb gezeichnet.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Vidocq Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 07.01.03 16:32 
danke ... fuer die schnelle hilfe

_________________
Viele gruesse aus Kroatien !!!
Rudi77
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 15.01.03 17:46 
Hi!

Ich habe dazu auch gleich noch eine Frage. Jetzt sind zwar die einzelnen Rows schön eingefärbt, aber wenn der Anwender in eine Zelle klickt, wird der Text weiß und man kann ihn nicht mehr lesen.
Kann ich dies auch irgendwie beeinflussen? :oops:
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Do 16.01.03 01:14 
du musst mit der eigenschaft
grd.canvas.pen.color spielen
und den State abfragen. Schau mal in der hilfe, was es da zu TGridDrawState gibt.

Gruß
Ken