Einzelnen Beitrag anzeigen

HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

DBGrid -> Mehrere Zeilen farblich

  Alt 13. Nov 2009, 09:02
Hallo zusammen,

ich möchte in meinem DBGrid die Zeilen farblich machen, welche alle das Datum der selektierten Zeile beinhalten.

So habe ich es versucht:

Hier wird das Datum der selektierten Zeile in eine Globale Variabel geschrieben:
Delphi-Quellcode:
procedure TDM_Query_UP.DS1DataChange(Sender: TObject; Field: TField);
begin

 Arbeitsplan_Datum_Selektiert := '';
 
 if DM_Query_UP.Query1.isempty then exit;

 Arbeitsplan_Datum_Selektiert := datetostr(DM_Query_UP.Query1['DATUM']);
 
end;
Hier wird dann das ganze farblich gemacht:
Delphi-Quellcode:
procedure TForm1.DBG1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin

 if DM_Query_UP.Query1.isempty then exit;

 DBG1.Canvas.Brush.Color := clGradientInactiveCaption;
 DBG1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
 
 if (datetostr(DM_Query_UP.Query1['DATUM']) = Arbeitsplan_Datum_Selektiert) then
 begin

  DBG1.Canvas.Brush.Color := clInfoBK;
  DBG1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

 end;

end;
Wenn ich nun die verschiedenen Zeilen selektiere werden die Zeilen nicht richtig farblich gezeichnet.

Führe ich nach dem selektieren ein Refresh der Query1 durch klappt es.

Wie kann ich nun meinen Code verbessern, das es klappt oder wo könnte ich den Refresh implementieren ?

Gruss

Holger
  Mit Zitat antworten Zitat