PagedAsyncSource Class
A virtual source component that allows you to bind the GridControl to a data source and display data in pages.
Namespace: DevExpress.Xpf.Data
Assembly: DevExpress.Xpf.Core.v24.1.dll
NuGet Package: DevExpress.Wpf.Core
Declaration
Remarks
Workflow
The PagedAsyncSource raises events in the UI Thread and uses tasks to process data in parallel Working Threads. You should provide tasks to these events to obtain summaries, rows, etc. Then the UI Thread gets data you fetched.
- (Optional step) The PagedAsyncSource raises the PagedAsyncSource.GetTotalSummaries event. Handle this event and process summaries if you want to show them in the GridControl.
- The PagedAsyncSource raises the PagedAsyncSource.FetchPage event to get the first portion of data.
- When end users navigate to the next page, the PagedAsyncSource raises the PagedAsyncSource.FetchPage event to get the next portion of data.
- (Optional step) When end users apply a filter, the PagedAsyncSource raises the PagedAsyncSource.GetUniqueValues event to get unique values and show them in a drop-down filter.
You can maintain a clean MVVM pattern and specify operations above in a ViewModel. To do this, create a command and bind it to the corresponding property:
Event | Property | Description |
---|---|---|
GetTotalSummaries | GetTotalSummariesCommand | Gets or sets a command that allows you to get total summaries. |
FetchPage | FetchPageCommand | Gets or sets a command that allows you to fetch page rows. |
GetUniqueValues | GetUniqueValuesCommand | Gets or sets a command that allows you to get unique values. |
Tips
- You can specify the PagedSourceBase.PageSize property to set the maximum number of rows that can be displayed on a page.
- You can set the PagedSourceBase.PageNavigationMode property to Arbitrary to allow navigating to any page.
To show a total page count:
- Set the PagedSourceBase.PageNavigationMode property to ArbitraryWithTotalPageCount.
- Handle the PagedAsyncSource.GetTotalSummaries event to calculate the Count value.
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the PagedAsyncSource class.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.