private GridDefinition GetGridModel() { return(new GridDefinition { InitialPageSize = 20, ModuleGuid = Module.ModuleGuid, SettingsModuleGuid = Module.PermanentGuid, RecordType = typeof(BrowseItem), AjaxUrl = GetActionUrl(nameof(DisposableTrackerBrowse_GridData)), SortFilterStaticData = (List <object> data, int skip, int take, List <DataProviderSortInfo> sorts, List <DataProviderFilterInfo> filters) => { DataProviderGetRecords <BrowseItem> recs = DataProviderImpl <BrowseItem> .GetRecords(data, skip, take, sorts, filters); foreach (BrowseItem r in recs.Data) { r.Module = Module; } return new DataSourceResult { Data = recs.Data.ToList <object>(), Total = recs.Total, }; }, DirectDataAsync = (int skip, int take, List <DataProviderSortInfo> sort, List <DataProviderFilterInfo> filters) => { List <BrowseItem> items = (from k in DisposableTracker.GetDisposableObjects() select new BrowseItem(Module, k)).ToList(); DataProviderGetRecords <BrowseItem> recs = DataProviderImpl <BrowseItem> .GetRecords(items, skip, take, sort, filters); DataSourceResult data = new DataSourceResult { Data = recs.Data.ToList <object>(), Total = recs.Total }; return Task.FromResult(data); }, }); }