Нужно:
Повесить обработчик события на ручную отрисовку ячеек: TGrid.OnDrawColumnCell:
В обработчике в зависимости от требуемой строки или данных, нарисовать задний фон ячейки
Затем поверх выполнить обычное отображение содержимого ячейки
type
TOpenColumn = class (TColumn);
procedure TForm8.StringGrid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn;
const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates);
begin
if Row mod 2 = 0 then
begin
// Выполняем закраску заднего фона
Canvas.Fill.Color := TAlphaColorRec.Aliceblue;
Canvas.FillRect(Bounds, 0, 0, AllCorners, 1);
// Рисуем поверх обычное отображение содержимого ячейки
TOpenColumn(Column).DefaultDrawCell(Canvas, Bounds, Row, Value, State);
end;
end;
Для этого примера, у меня получилось так: