Paging belongs to FdcDataSet, not to a visual slice of loaded rows.
The dataset requests a page-sized result from its adapter. Standard mode replaces the active page and can require an exact total count; infinite mode appends sequential windows as scrolling approaches the loaded boundary.
Filters, sorting, and search restart the query against the complete source. They do not operate only on whatever rows happen to be in client memory.
final orders = FdcDataSet(
fields: orderFields,
adapter: orderAdapter,
paging: const FdcDataPagingOptions(
enabled: true,
mode: FdcDataPagingMode.standard,
pageSize: 50,
maxPageSize: 200,
requireTotalCount: true,
),
);
Standard paging
Navigate exact pages, expose global record ranges, and offer controlled page sizes.
Learn more →Infinite loading
Append ordered windows while preserving one active dataset query.
Learn more →Paging UI
Compose record info, numbered or input navigation, and page-size selection in the grid.
Learn more →Translate typed query state instead of shipping UI strings.
FDC filters refer to fields, operators, and typed values. Sorts retain explicit field order and direction. Global search, selection constraints, totals, and aggregates belong to the same query contract.
The adapter translates that contract into the source’s language—SQL clauses, HTTP parameters, a JSON request, a Workers binding, or an SDK call. UI code remains independent of transport syntax.
final result = await backend.openOrders(
offset: request.offset,
limit: request.limit,
filters: request.filters,
sorting: request.sorting,
globalSearch: request.globalSearch,
requireTotalCount: request.requireTotalCount,
);
Server operations
Map paging, filters, sorting, search, and aggregate requests to the backend.
Learn more →Custom adapters
Keep application-specific transport and authentication behind the adapter boundary.
Learn more →Aggregates
Return totals over the complete matching query instead of only the loaded page.
Learn more →Only the current query should be allowed to replace the dataset view.
A user can type a second search, change a filter, sort another column, or move pages before the previous request returns. A slower stale response must not overwrite the more recent result.
FDC coordinates dataset work and query state so records, current page, counts, aggregates, and loading indicators refer to the same request. Remote records still enter the normal edit buffer and post through the adapter when changed.
Work progress
Observe loading, applying updates, progress, and cancellation through the dataset work model.
Learn more →Remote CRUD
Edit paged records through the same validation and posting lifecycle used by local data.
Learn more →PRO PREVIEWSelection across pages
Delegate selected or unselected record queries beyond the currently loaded window when supported.
Learn more →Start with one dataset and one record lifecycle.
Install the Community package for the core workflow. Pro preview features are marked explicitly throughout this page.