Grid custom data querying

By default the GridModelBuilder will query the data (order and get page), but you can to that yourself and pass the ordered and paged data. You might need to do that if you're using stored procedures, service calls, or any other data storage tech that doesn't support linq.
You might also want to load the data using async/await methods and only after that pass it to the GridModelBuilder, and for this scenario the GridModelBuilder has methods to apply the OrderBy and Page on your query before you call your Async Load method, see examples below.

Manually ordering and paging data

Here we are showing how we could query the data manually before passing it to the GridModelBuilder. One could also use something like Dynamic Linq or generate a sql script etc.

Execute async query before building model

In this grid we are fetching the data before calling GridModelBuilder.Build, this way you could use an async call to fetch data, await for the call and after pass the items and count to the GridModelBuilder.
See also: Grid with List Count Column