Как изменить цвета строк в DBGrid?
// В примере меняется цвет каждой нечетной строки
procedure TMainFrm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
// Красим нечетные строки
if TDBGrid( Sender ).DataSource.DataSet.RecNo mod 2 = 1 then
TDBGrid( Sender ).Canvas.Brush.Color := clInfoBk;
// Восстанавливаем выделение текущей позиции курсора
if gdSelected in State then
begin
TDBGrid( Sender ).Canvas.Brush.Color := clHighLight;
TDBGrid( Sender ).Canvas.Font.Color := clHighLightText;
end;
// Просим GRID перерисоваться самому
TDBGrid( Sender ).DefaultDrawColumnCell( Rect, DataCol, Column, State );
end;
|