Jump to content

ForceFit at runtime


jaromir

Recommended Posts

Hello,

 

Is it possible to change grid forcefit property at runtime ? If so how i can achieve this.

I tried this but without luck:

function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts)
{
  sender.headerCt.forceFit=true
}

Regards

Link to comment
Share on other sites

Thank You !

 

It works like expected.

I tried to turn on forcefit in code when columns width sum is less or equal than grid size.

 

Columns width sum is easy:

  TUniDBGridColumnsHelper = class helper for TUniDBGridColumns
  public
    function ColumnsWidth: Integer;
  end;

function TUniDBGridColumnsHelper.ColumnsWidth: Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 0 to Self.Count - 1 do
    if Self[i].Visible then
      Result := Result + Self[i].Width;
end;

But unfortunately I can't get grid width at code. Grid.width is the same as in design time.

Delphi Developer could You help again please ?

Link to comment
Share on other sites

ForceFit:
 

Grid.ClientEvents.UniEvents.Values['beforeInit'] :=
    'function (sender, config) { config.forceFit = true; }';

AutoSize:
 

Grid.ClientEvents.ExtEvents.Values['store.load'] :=
    'function (sender, records, successful, eOpts) ' +
    ' { ' +
    '   sender.grid.columnManager.columns.forEach(function(col) '+
    '   { '+
    '    col.autoSize(); '+
    '   }) '+
    ' } ';
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...