Einzelnen Beitrag anzeigen

Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
654 Beiträge
 
Delphi 12 Athens
 
#1

DBGrid - Option dgRowSelect vs dgEditing

  Alt 4. Jun 2021, 09:26
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?
Roland
  Mit Zitat antworten Zitat