AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

einfärben einer zeile eines dbgrids

Ein Thema von stonimahoni · begonnen am 11. Jan 2005 · letzter Beitrag vom 14. Jan 2005
 
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#2

Re: einfärben einer zeile eines dbgrids

  Alt 11. Jan 2005, 09:15
Hai,

geht ganz einfach

Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  with (Sender as TDBGrid) do
  begin
    if (gdSelected in State) then
    begin
      Canvas.Brush.Color := clblue; //Farbe für die Zelle mit dem Focus
    end
    else
    begin
      if (DataSource.DataSet.FieldByName('tag').AsInteger < 0) then
      begin
        Canvas.Brush.Color := clRed;
      end
      else
      begin
        Canvas.Brush.Color := clGreen;
      end;
    end;
    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, Column.Field.AsString); //Denn Text in der Zelle ausgeben
  end;
end;
Dieser Code färbt im DBGrid jede Zeile rot wenn in dem Datensatz das Feld "tag" kleiner 0 ist. Ansonsten ist die Zeile grün.
Wenn die Zeile den Fokus besitzt ist sie blau.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 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