![]() |
Datenbank: MySQL • Zugriff über: Zeos
DBGrid DrawColumnCell
Hallo
Habe ein Probelm und zwar hole ich mir Daten in die DBGrid und da möchte ich gerne immer wenn ein - dafür steht sollte die farbe rot werden sonst grün
Delphi-Quellcode:
bringe es aber nicht hin wenn ich den Betrag richtig hineinschreibe geht es.
procedure Tfrm_depot.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); var holdColor: TColor; begin holdColor := DBGrid1.Canvas.Brush.Color; if Column.FieldName = 'gewinn' then if (Column.Field.text = '--') then begin DBGrid3.Canvas.Font.Color := clred; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); DBGrid3.Canvas.Brush.Color := holdColor; end; if (Column.Field.text = '') then begin DBGrid3.Canvas.Font.Color := clgreen; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); DBGrid3.Canvas.Brush.Color := holdColor; end; end; Danke StoRmtec |
Re: DBGrid DrawColumnCell
Welchen Typ hat das Feld??
|
Re: DBGrid DrawColumnCell
Ist ein normales Feld von einer DBGrid. Hinterlegt ist in der Datenbank VARCHAR
|
Re: DBGrid DrawColumnCell
Warum VarChar? Und Warum per Text?
|
Re: DBGrid DrawColumnCell
mmh keine ahnung habe die datenbank vorgegeben bekommen
kann man da nichts machen dann? |
Re: DBGrid DrawColumnCell
steht denn das richtige drin? Eventuell hängen dahinter noch Leerzeichen o.ä., das heißt, Du solltest mit Copy(...) vergleichen.
|
Re: DBGrid DrawColumnCell
Da scheinen auch begin und end zu fehlen. Klappt es evtl. so (aus dem Kopf getippt):
Delphi-Quellcode:
:?:
procedure Tfrm_depot.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); var holdColor: TColor; begin holdColor := DBGrid1.Canvas.Brush.Color; if Column.FieldName = 'gewinn' then begin if (trim(Column.Field.AsString) = '--') then begin DBGrid3.Canvas.Font.Color := clred; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); DBGrid3.Canvas.Brush.Color := holdColor; end else if (trim(Column.Field.AsString) = '') then begin DBGrid3.Canvas.Font.Color := clgreen; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); DBGrid3.Canvas.Brush.Color := holdColor; end; end; end; |
Re: DBGrid DrawColumnCell
Hallo Habe es versucht wenn ich statt den -- ZB -3,18 angebe dann macht
er mir den eintrag rot. Aber sonst wenn nur das - steht dann nicht danke |
Re: DBGrid DrawColumnCell
Hat noch wer eine Idee für mein Problem.
Danke |
Re: DBGrid DrawColumnCell
Zitat:
|
Re: DBGrid DrawColumnCell
wie kann ich den ddas genau machen wenn ich einen halte Punkt setze dann sehe ich
trotzdem nicht. Kann mir vl wer weiterhelfen. LG StoRmtec |
Re: DBGrid DrawColumnCell
Du könntest die entsprechenden Daten ja auch in eine Stringliste schreiben und diese dann abspeichern. So kannst Du Dir die Daten in aller Ruhe anschauen.
|
Re: DBGrid DrawColumnCell
So sollte es gehen:
Delphi-Quellcode:
procedure Tfrm_depot.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin DBGrid3.Canvas.Font.Color := clblack; if Column.FieldName = 'gewinn' then begin if (trim(Column.Field.AsString) = '--') then begin DBGrid3.Canvas.Font.Color := clred; end else if (trim(Column.Field.AsString) = '') then begin DBGrid3.Canvas.Font.Color := clgreen; end; end; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; |
Re: DBGrid DrawColumnCell
Getestet wird ob in der Zelle nur diese Zeichenfolge '--' eventuell mit führenden oder folgenden Leerzeichen steht.
Wenn in der Zelle '-3,18', '--xx--' oder nur '-' steht, ist diese Bedingung nicht erfüllt. Der Test auf einen negativen Betrag könnte so aussehen: if Pos('-', Trim(Column.Field.AsString)) = 1 then |
Re: DBGrid DrawColumnCell
Es geht eben nichts über eine exakte Problembeschreibung.
|
Re: DBGrid DrawColumnCell
Danke Leute es hat funktioniert.
LG StoRmtec |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 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 by Thomas Breitkreuz