In my project most data tables are complicated and I should use List<ExpandoObject> data source. Additionally many tables are very large. It force to make write my own operations for search, filtering, sort and paging and to make some kind of cashing for loaded data.
In ActionBegin event I choose Action and check if I need to load new data. For sorting it is:
if (args.RequestType == Syncfusion.Blazor.Grids.Action.Sorting)
{
Cursor.Sorts = new List<Sort> { new Sort { Name = args.ColumnName, Direction = nameof(SortDirection.Ascending) } };
DataSource = await DataCRUD.ReadAsync(Cursor).ConfigureAwait(true);
}
I have some difficulty only with Paging. I found args.CurrentPage and PreviousPage. I can reach Grid.PageSettings.PageSize for previous page size. But when page size is changing, ActionBegin fires, but new Page size is not shown in args.
Question is if the ActionBegin event is write place to make datasource changes under grid navigation? If yes, where to find new page size under paging when page size is changed?