В том же файле находим TCustomGrid.DrawAlternatingBackground (предположительно 2138 стрчока)
procedure TCustomGrid.DrawAlternatingBackground(const DrawingContent: TControl; const Canvas: TCanvas);
var
I: Integer;
P: TPointF;
begin
if TGridOption.AlternatingRowBackground in FOptions then
for I := 0 to VisibleRows - 1 do
begin
if Odd(TopRow + I) then
begin
P := Content.LocalToAbsolute(PointF(0, (TopRow + I) * FRowHeight));
P := DrawingContent.AbsoluteToLocal(P);
Canvas.FillRect(RectF(P.X, P.Y, P.X + Content.Width,
P.Y + FRowHeight), 0, 0, [], AbsoluteOpacity, FOddFill);
end;
end;
Меняем 2150 строчку на:
procedure TCustomGrid.DrawAlternatingBackground(const DrawingContent: TControl; const Canvas: TCanvas);
var
I: Integer;
P: TPointF;
begin
if TGridOption.AlternatingRowBackground in FOptions then
for I := 0 to VisibleRows - 1 do
begin
if Odd(TopRow + I) then
begin
P := Content.LocalToAbsolute(PointF(0, (TopRow + I) * FRowHeight));
P := DrawingContent.AbsoluteToLocal(P);
Canvas.FillRect(RectF(P.X + ViewportPosition.X, P.Y, P.X + Content.Width + ViewportPosition.X,
P.Y + FRowHeight), 0, 0, [], AbsoluteOpacity, FOddFill); // <-- добавляем смещение ViewportPosition
end;
end;
end;