diff --git a/Source/GUIBase/uViewGridBase.pas b/Source/GUIBase/uViewGridBase.pas index 3050d077..2edf7323 100644 --- a/Source/GUIBase/uViewGridBase.pas +++ b/Source/GUIBase/uViewGridBase.pas @@ -93,6 +93,7 @@ type FFilter: string; FOnFilterChanged : TNotifyEvent; FGridStatus : TcxGridStatus; + procedure BestFitAllColumns; protected FOnDblClick: TNotifyEvent; FPopupMenu: TPopupMenu; @@ -196,29 +197,36 @@ begin RegisterCustomContainer(TfrViewGridBase); end; -procedure BestFitAllColumns (TheView:TcxGridDBTableView; ALimit:Integer = 0); +{ TfrViewGrid } + +procedure TfrViewGridBase.BestFitAllColumns; var i : Integer ; begin - for i := 0 to TheView.VisibleColumnCount-1 do - begin - //TheView.VisibleColumns[i].BestFitMaxWidth := 0; - TheView.VisibleColumns[i].ApplyBestFit; - if (ALimit > 0) then + ShowHourglassCursor; + _FocusedView.BeginUpdate; + try + for i := 0 to _FocusedView.ColumnCount-1 do begin - if (TheView.VisibleColumns[i].Width > ALimit) then - TheView.VisibleColumns[i].Width := ALimit; + _FocusedView.Columns[i].ApplyBestFit; + if _FocusedView.Columns[i].BestFitMaxWidth > 0 then + begin + if (_FocusedView.Columns[i].Width > _FocusedView.Columns[i].BestFitMaxWidth) then + _FocusedView.Columns[i].Width := _FocusedView.Columns[i].BestFitMaxWidth; + end; end; + finally + _FocusedView.EndUpdate; + HideHourglassCursor; end; -End; - -{ TfrViewGrid } +end; procedure TfrViewGridBase.AjustarAncho; begin if Assigned(_FocusedView) then begin - _FocusedView.ApplyBestFit; + BestFitAllColumns; + //_FocusedView.ApplyBestFit; end; end;