anchor.diff:      end;
     end;
   
  -  {FClientPanel := TPanel.Create(Self);
  +  FClientPanel := TPanel.Create(Self);
     FClientPanel.Parent := Self;
     with FClientPanel do
     begin
       Align := alClient;
       BevelOuter := bvNone;
  -    Color:=clWhite;}
  +
  +    FTopPanelMultiSearch := TPanel.Create(Self);
  +    FTopPanelMultiSearch.Parent := FClientPanel;
  +    with FTopPanelMultiSearch do
  +    begin
  +      Align:=alTop;
  +      BevelOuter := bvNone;
  +      Height := 40;
  +
  +      FTopPanelMultiSearchFixed := TPanel.Create(Self);
  +      FTopPanelMultiSearchFixed.Parent := FTopPanelMultiSearch;
  +      with FTopPanelMultiSearchFixed do
  +      begin
  +        Align:=alLeft;
  +        BevelOuter := bvNone;
  +        Height := 40;
  +        Width := 0; // may be usefull for fixed columns
  +      end;
  +
  +      FTopPanelMultiSearchClient := TPanel.Create(Self);
  +      FTopPanelMultiSearchClient.Parent := FTopPanelMultiSearch;
  +      with FTopPanelMultiSearchClient do
  +      begin
  +        Align:=alClient;
  +        BevelOuter := bvNone;
  +        Height := 40;
  +      end;
  +
  +      FTopPanelMultiSearchRight := TPanel.Create(Self);
  +      FTopPanelMultiSearchRight.Parent := FTopPanelMultiSearch;
  +      with FTopPanelMultiSearchRight do
  +      begin
  +        Align:=alRight;
  +        BevelOuter := bvNone;
  +        Height := 40;
  +        Width:=TScrollBarAccess.GetControlClassDefaultSize.cy;
  +      end;
  +    end;
  +
   
       FDrawGrid := TDrawGrid.Create(Self);
  -    FDrawGrid.Parent := Self;
  +    FDrawGrid.Parent := FClientPanel;
       with FDrawGrid do
       begin
         Align := alClient;
         BorderStyle := bsNone;
         OnDrawCell := StandardDrawCell;
  -      Options := Options - [goRangeSelect];
  +      Options := (Options - [goRangeSelect]) + [goColSizing];
  +      FixedCols := 0;
       end;
       FDefaultDrawGridOptions := FDrawGrid.Options;
  -  //end;
  +  end;
   
     FDelayedBoundsChangeTimer := TTimer.Create(Self);
     with FDelayedBoundsChangeTimer do
  
positive.code:   FCanSearch := true;
    FTotalDataCount := -1;
  
    {$IFDEF VISUALGRID_DEBUG}
    with TButton.Create(Self) do
    begin
  
negative.code: end;
  
  procedure TCustomVisualGrid.ReloadColumns;
  var
    i: Integer;
  begin
    FDrawGrid.ColCount := Length(FDataTable.Columns);
    // TODO: may be optimized
    FMultiSearchEdits.Clear;
    for i := 0 to FDrawGrid.ColCount - 1 do
    begin
      FMultiSearchEdits.Add(TSearchEdit.Create(FTopPanelMultiSearchClient));
      ResizeSearchEdit(i);
    end;
    if FDrawGrid.ColCount > 0 then
      FTopPanelMultiSearch.Height:=FMultiSearchEdits.Last.FPanel.Height;
  end;
  
  procedure TCustomVisualGrid.LayoutChanged;
  