anchor.diff:    fpstypes, fpspreadsheet,
     fpsallformats, // necessary to register all the input/output formats that fpspreadsheet can handle
     {$ENDIF}
  -  mVirtualGridSpreadsheet;
  +  mVirtualGridSpreadsheet, mGraphicsUtility;
   
   
   procedure TmKGridAsPivotHelper.OnDrawGridCell(Sender: TObject; ACol, ARow: Integer; R: TRect; State: TKGridDrawState);
  
positive.code: 
    FKGrid.Cell[ACol, ARow].ApplyDrawProperties;
  
    if (ARow < FKGrid.FixedRows) and (ACol >= FKGrid.FixedCols) then
    begin
      FKGrid.CellPainter.HAlign:=halCenter;
      FKGrid.CellPainter.VAlign:=valCenter;
      FKGrid.CellPainter.BackColor:= FHeaderColor;
    end
    else
    begin
      if FNumericColumnsIndex.Contains(ACol) then
        FKGrid.CellPainter.HAlign:=halRight;
      if ((ACol = FKGrid.ColCount -1) and (poVerticalGrandTotal in FPivoter.Options)) or ((ARow = FKGrid.RowCount -1) and (poHorizontalGrandTotal in FPivoter.Options)) then
        FKGrid.CellPainter.BackColor:= FGrandtotalsColor;
    end;
  
    FKGrid.CellPainter.DefaultDraw;
  
negative.code:   assert(not Assigned(FKGridAsVirtualGrid));
    FKGrid := aGrid;
    FKGrid.OnDrawCell:= Self.OnDrawGridCell;
    FKGrid.Options := FKGrid.Options - [goThemes, goThemedCells] + [goColSizing];
    FKGrid.OptionsEx:= [gxMouseWheelScroll];
    FKGridAsVirtualGrid := TmKGridAsVirtualGrid.Create(FKGrid);
    Self.InternalInit(aPivoter, FKGridAsVirtualGrid);
  