Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid DrawColumnCell (https://www.delphipraxis.net/131006-dbgrid-drawcolumncell.html)

StoRmtec 17. Mär 2009 13:18

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:
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;
bringe es aber nicht hin wenn ich den Betrag richtig hineinschreibe geht es.

Danke

StoRmtec

mkinzler 17. Mär 2009 13:27

Re: DBGrid DrawColumnCell
 
Welchen Typ hat das Feld??

StoRmtec 17. Mär 2009 13:32

Re: DBGrid DrawColumnCell
 
Ist ein normales Feld von einer DBGrid. Hinterlegt ist in der Datenbank VARCHAR

mkinzler 17. Mär 2009 13:59

Re: DBGrid DrawColumnCell
 
Warum VarChar? Und Warum per Text?

StoRmtec 17. Mär 2009 14:16

Re: DBGrid DrawColumnCell
 
mmh keine ahnung habe die datenbank vorgegeben bekommen
kann man da nichts machen dann?

joachimd 17. Mär 2009 14:28

Re: DBGrid DrawColumnCell
 
steht denn das richtige drin? Eventuell hängen dahinter noch Leerzeichen o.ä., das heißt, Du solltest mit Copy(...) vergleichen.

DeddyH 17. Mär 2009 14:47

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;
:?:

StoRmtec 17. Mär 2009 15:04

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

StoRmtec 18. Mär 2009 08:26

Re: DBGrid DrawColumnCell
 
Hat noch wer eine Idee für mein Problem.

Danke

joachimd 18. Mär 2009 10:02

Re: DBGrid DrawColumnCell
 
Zitat:

Zitat von StoRmtec
Hat noch wer eine Idee für mein Problem.

nimm den Debugger, setzte einen Haltepunkt und schaue, was wirklich in den Feldern drin steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 Uhr.
Seite 1 von 2  1 2      

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