![]() |
Datenbank: bde • Zugriff über: keine ahnung
dbgrid aktuelle Zeile im dbGrind färben
Hallo, würde zu gerne die gesamte ausgewählte Zeile in einen DbGrind einfärben.
Bekomme leider nur die aktuelle Zelle gefärbt:
Delphi-Quellcode:
Hab schon mindestens 3 Stunden gesucht. Wäre sehr dankbar!
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (State=[gdSelected,gdFocused]) then DBGrid1.Canvas.Brush.Color := clred else DBGrid1.Canvas.Brush.Color := clWhite; end; |
Re: dbgrid aktuelle Zeile im dbGrind färben
Und wenn Du unter "Options" RowSelect auf true stellst?
[edit] BDE unter Delphi.NET? Bist Du da sicher? [/edit] |
Re: dbgrid aktuelle Zeile im dbGrind färben
Klappt leider auch nicht. Möchte auch gerne jede Celle zur laufzeit editieren können. Aber trotzdem Danke.
Ist eine Paradox 7 Tabelle. |
Re: dbgrid aktuelle Zeile im dbGrind färben
Dann such doch mal nach
![]() |
Re: dbgrid aktuelle Zeile im dbGrind färben
Das Problem ist, dass du hier zwei Mengen auf Gleichheit überprüfst.
Nur Zellen, die Selected und Fokusiert werden eingefärbt (nur eine Zelle hat den Fokus)
Delphi-Quellcode:
begin
if gdSelected in State then // *** DBGrid1.Canvas.Brush.Color := clred else DBGrid1.Canvas.Brush.Color := clWhite; end; |
Re: dbgrid aktuelle Zeile im dbGrind färben
:wall: das hab ich natürlich geflissentlich übersehen. Vielleicht sollte ich mich mal sinnvollen Dingen wie Fliegenfischen in der Badewanne widmen, so wird das hier eh nichts mehr.
|
Re: dbgrid aktuelle Zeile im dbGrind färben
Sorry, laut Delphi-Hilfe:
gdSelected - Die Zelle ist aktuell ausgewählt Ich möchte wissen, ob die Zeile und nicht die Zelle ausgewählt ist! Danke für die Bemühungen. |
Re: dbgrid aktuelle Zeile im dbGrind färben
Nochmal: RowSelect auf true stellen und die Abfrage ändern.
Zitat:
Delphi-Quellcode:
if (gdSelected in State) or (gdFocused in State)
|
Re: dbgrid aktuelle Zeile im dbGrind färben
Also mit:
Delphi-Quellcode:
und der Option "RowSelect" erhalte ich genau mein erwünschtes ergebnis.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if gdSelected in State then DBGrid1.Canvas.Brush.Color := clred else DBGrid1.Canvas.Brush.Color := clWhite; end; Nun kann ich aber nicht mehr die einzelnen Zellen editieren :wall: |
Re: dbgrid aktuelle Zeile im dbGrind färben
Es muss doch irgendwie möglichsein, innerhalb der Funktion "DBGrid1DrawColumnCell" festzustellen welche Zeile bei einer Tabelle ausgewählt ist!?
Mit RecNo geht das leider nicht, da inerhalb von DBGrid1DrawColumnCell dieser von 0 bis an das Tabellenende Hochgezählt wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 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