![]() |
Eigenschaften einer Zelle im DBGrid zur Laufzeit ändern.
Hallöchen.
Ich wende mich mit einem Problem an euch das ich nicht lösen kann. Ich habe ein DBGrid mit mehreren Spalten und Zeilen an Datensätzen aus einer Paradox DB. In der DB ist ein Feld enthalten was sich "STATUS" schimpft. Diese Feld kann die Werte 0 1 oder 2 enthalten. Jetzt möchte ich, wenn 0 drinsteht soll der Hintergrund wieder Zelle im Datensatz weiss sein. Bei 1 Rot und bei 2 Blau. Leider bin ich daran gescheitert. Danke schonmal für Hilfe. MfG, Ronny |
Re: Eigenschaften einer Zelle im DBGrid zur Laufzeit ändern.
Zitat:
Delphi-Quellcode:
Den Code einfach in das OnDrawColumnCell - Ereigniss deines DBGrid eintragen.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If (Column.FieldName = 'STATUS') then begin Case Column.Field.AsInteger of 0: DBGrid1.Canvas.Brush.Color := clWhite; 1: DBGrid1.Canvas.Brush.Color := clRed; 2: DBGrid1.Canvas.Brush.Color := clBlue; end; end; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; |
Zelle DBGrid
Hallo.
Ich bedanke mich erstmal für die schnelle Antwort. Es funktioniert tadellos nur einwas wäre noch interessant. Wenn ich in die Zelle gehe und der wert ist 0 ist der Bg ja weiss. Leider ist dann auch die schriftfarbe weiss. Komisch. Kann man auch die Schriftfarbe irgendwie noch definieren? MfG, Ronny |
Re: Zelle DBGrid
Zitat:
hihi... das einfachste ist: lasse die Zeile in der auf STATUS = 0 geprüfrt wird enfach weg. Aber Du kannst natürlich auch die Schriftfarbe ändern:
Delphi-Quellcode:
If (Column.FieldName = 'STATUS') then
begin Case Column.Field.AsInteger of 0: begin DBGrid1.Canvas.Brush.Color := clWhite; DBGrid1.Canvas.Font.Color := clAqua; end; 1: DBGrid1.Canvas.Brush.Color := clRed; 2: DBGrid1.Canvas.Brush.Color := clBlue; end; end; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); |
DBGrid
Hallo.
Thx für die Info. Hab jetzt mit Hilfe des Codes eine Routine geschrieben die 1a funktioniert. MfG, Ronny |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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