So, hab eine Lösung gefunden. Wenn auch nicht ganz sauber:
1. hab mir ne globale Variable erstellet: current_row: integer;
2. Diese setze ich beim "DataSource1DataChange" auf die ausgewählte Zeile:
Delphi-Quellcode:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
current_row:= Table1.RecNo;
DBGrid1.Repaint; // wird benötigt wenn das Mausrad benutzt wird
end;
3. Und zur vollständigkeit noch meine DBGrid1DrawColumnCell-Funktion:
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Table1.RecNo=current_row
then DBGrid1.Canvas.Brush.Color := clred
else DBGrid1.Canvas.Brush.Color := clWhite;
DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);
end;
So, tolles Ergebnis für einen Nachmitag Arbeit
Über eine Sauber kurze Lösung wäre ich echt noch dankbar, oder teilt mal mit, wenn ihr das selbe problem habt.
Und danke an alle!