Einzelnen Beitrag anzeigen

philubb

Registriert seit: 27. Jun 2012
16 Beiträge
 
Delphi XE Enterprise
 
#1

DBGrid in selektierter Zeile wird Text doppelt angezeigt

  Alt 12. Jul 2012, 10:53
Datenbank: mysql • Version: x • Zugriff über: clientdataset
Hi

Habe ein Problem mit einem DBGrid.
Befüllen und alles klappt, auch das jede zweite Zeile eine andere Farbe hat.

Nun möchte ich, auch die Schrift der einzelnen Zeilen, je nachdem mit welchem Wert sie befüllt sind ändern.

Das mache ich in OnDrawColumnCell so:

Delphi-Quellcode:
  if cdsAnlagen_VKN.FieldByName('HIERARCHIE').AsString = 'Oberanlagethen
  begin
    dbGridAnlage_VKN.Canvas.Font.Style := [fsBold];
  end;

  if (( cdsAnlagen_VKN.RecNo mod 2) = 0) then
    dbGridAnlage_VKN.Canvas.Brush.Color := $D3D3D3;

  if cdsAnlagen_VKN.FieldByName('HIERARCHIE').AsString = 'Ersatzanlagethen
  begin
    dbGridAnlage_VKN.Canvas.Font.Color := $7C7C7C;
    dbGridAnlage_VKN.Canvas.Font.Style := [fsItalic];
  end;

  dbGridAnlage_VKN.DefaultDrawColumnCell(Rect, 0, Column, State);
Das funktioniert auch so weit.

Mein Problem ist nun, wenn ich im DBGrid scrolle, werden bei der selektierten Zeile der formatierte Text angezeigt und hintendran der gleiche Text (in weiß) nur unformatiert, dadurch verschwimmt der Text beim lesen.
  Mit Zitat antworten Zitat