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 = 'Oberanlage' then
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 = 'Ersatzanlage' then
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.