Beim DBGrid kann die selektierte Zeile mit der Option dgRowSelect optisch markiert werden.
Dies hat allerdings den Nachteil, dass die Option dgEditing nicht mehr zur Verfügung steht.
Diese brauche ich aber um eine einzelne Zelle zu markieren (Doppelklick) und deren Inhalt in die Zwischenablage zu kopieren und z.B. in einem Dokument einzufügen (copy/paste)
Daher zeichne ich im DrawColumnCell selber, der Ansatz sieht sieht so aus:
Delphi-Quellcode:
if dgAuftraege.DataSource.DataSet.RecNo = FAuftrag_ID
then begin
dgAuftraege.Canvas.Brush.Color := clHighlight;
dgAuftraege.Canvas.Font.Color := clwhite;
end;
Die FAuftrag_ID wird im Datachange vom Dataset zwischengespeichert.
Dieser Ansatz funktioniert soweit, allerdings nur wenn ich auf eine Zelle
klicke.
Wenn ich mittels dem Mausrad durchscrolle, ist es nur eine Frage der Zeit, bis sämtliche Einträge eingefärbt sind.
Wie würdet Ihr dies lösen oder was mache ich falsch?