Entwickler-Ecke
Datenbanken - DBGrid --> farben
Vidocq - Di 07.01.03 15:25
Titel: DBGrid --> farben
Kann man in DBGrid einzelne Rows einfarben ???
LCS - 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:
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
Vidocq - Di 07.01.03 16:32
danke ... fuer die schnelle hilfe
Rudi77 - 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 - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!