anchor.diff:    NUMERIC_FILTER = [vgfNumericEQ, vgfNumericLT, vgfNumericLTE, vgfNumericGT, vgfNumericGTE, vgfNumericBetweenInclusive, vgfNumericBetweenExclusive];
     SORTABLE_TEXT_FILTER = TEXT_FILTER + [vgfSortable];
     SORTABLE_NUMERIC_FILTER = NUMERIC_FILTER + [vgfSortable];
  +  SORTABLE_FILTER = [vgfSortable];
  +  NON_SORTABLE_FILTER = [vgfMatchTextExact, vgfMatchTextBeginning, vgfMatchTextEnd,
  +    vgfMatchTextAnywhere, vgfNumericEQ, vgfNumericLT, vgfNumericLTE, vgfNumericGT,
  +    vgfNumericGTE, vgfNumericBetweenInclusive, vgfNumericBetweenExclusive];
   
   type
     TColumnFilter = record
  
positive.code:     LEdit := TSearchEdit.Create(FTopPanelMultiSearchClient, Self);
      FMultiSearchEdits.Add(LEdit);
      p := SearchCapability;
      LEdit.EditVisible:=Assigned(p) and FMultiSearchMenuItem.Checked;
      LEdit.SearchCapability := p;
      ResizeSearchEdit(i);
      if Assigned(p) then
      begin
        FMultiSearchCheckComboBox.AddItem(p^.ColumnName, cbChecked);
        FMultiSearchCheckComboBox.Objects[FMultiSearchCheckComboBox.Items.Count-1] := LEdit;
        FMultiSearchCheckComboBox.Checked[FMultiSearchCheckComboBox.Items.Count-1] := FMultiSearchMenuItem.Checked;
      end;
    end;
    if FDrawGrid.Columns.Count > 0 then
  
negative.code:   Result := FColumn.Width;
  end;
  
  procedure TVisualColumn.SetSortDirection(AValue: TSortDirection);
  begin
    if FSortDirection=AValue then Exit;
    FSortDirection:=AValue;
  
    TDrawGridAccess(FGrid.FDrawGrid).InvalidateCell(FColumn.Index, 0, true);
    if not FIgnoreRefresh then
      FGrid.RefreshPageIndexData(false);
  end;
  
  procedure TVisualColumn.SetStretchedToFill(AValue: boolean);
  begin
    FColumn.SizePriority := ifthen(AValue, 1);
  