anchor.diff:      FCanPage: boolean;
       FCanSearch: boolean;
       FSelectionType: TSelectionType;
  +    FCurrentSelectionType: TSelectionType;
  +    FLastSelection: TVisualGridSelection;
  +    FIgnoreSelectionEvent: boolean;
       FDefaultStretchedColumn : Integer;
       FDefaultColumnWidths : TArray<Integer>;
       FWidgetControl: TControl;
  
positive.code: procedure TCustomVisualGrid.SetOptions(AValue: TVisualGridOptions);
  var
    LSortDirectionAllowNone: boolean;
  
  begin
    if FOptions=AValue then Exit;
    LSortDirectionAllowNone := vgoSortDirectionAllowNone in FOptions;
  
    FOptions:=AValue;
    if vgoColSizing in FOptions then
  
negative.code:   // refresh for sort direction graphic
    if LSortDirectionAllowNone <> (vgoSortDirectionAllowNone in AValue) then
      SortDirectionGlyphRefresh;
    // refresh selection
    if LRefreshSelection <> (vgoAllowDeselect in AValue) then
    begin
      ResetLastSelection;
      UpdateSelection(SelectionType);
    end;
  end;
  
  procedure TCustomVisualGrid.SetRows(ARow: Integer; AValue: Variant);
  