Syncfusion.Maui.DataPager
This package provides the functionality to utilize the features of Syncfusion® Maui DataPager control and more.
Install
| Product | Versions |
|---|---|
| .NET |
README
Syncfusion .NET MAUI DataPager (SfDataPager)
The Syncfusion .NET MAUI DataPager provides a high-performance paging control for large data sets. It divides a data source into manageable pages, offers built-in page navigation, and integrates with controls such as SfDataGrid, CollectionView, SfListView, and SfTreeGrid through paging-aware binding patterns. It is designed for smooth paging interactions across Android, iOS, Mac Catalyst, and Windows from a single codebase.
Documentation · Getting Started · API Reference · Demos on GitHub · Product Page · Release Notes
Using this package with an AI coding agent
Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:
Set up this project for Syncfusion before generating code. Fetch and follow the official instructions at https://ai.syncfusion.com, then report the detected platform, installed skill pack, MCP status, and any required licensing action.The setup detects your project’s platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.
Platform reference: https://ai.syncfusion.com/maui/llms.txt
Key features
Page navigation
- Navigate with first, previous, next, and last page buttons.
- Show numeric page buttons with optional ellipsis handling.
- Control the visible button count and button spacing.
- Switch between horizontal and vertical paging layouts.
Paging behavior
- Page any
IEnumerabledata source with theSourceproperty. - Set
PageSizeto control how many items appear on each page. - Track the current page with
PageIndexand total pages withPageCount. - Enable on-demand paging with
UseOnDemandPaging.
Customization
- Adjust button shape, corner radius, size, font size, and style.
- Choose which navigation elements appear by using
DisplayMode. - Customize ellipsis text and numeric button generation.
- Apply app-wide theming through
DataPagerStyle.
Integration
- Works with
SfDataGridthrough thePagedSourceproperty. - Can be used with
CollectionView,SfListView, andSfTreeGridfor paging scenarios. - Supports responsive paging for large collections.
- Designed to keep page transitions smooth as users move through data.
More
- Right-to-left support, localization, and accessibility.
- Shared Syncfusion MAUI styling and resource support.
Supported platforms and target frameworks
| Platform | Target framework |
|---|---|
| Android | net9.0-android, net10.0-android |
| iOS | net9.0-ios, net10.0-ios |
| Mac Catalyst | net9.0-maccatalyst, net10.0-maccatalyst |
| Windows | net9.0-windows10.0.19041, net10.0-windows10.0.19041 |
Minimum OS versions follow the .NET MAUI supported platforms.
Installation
.NET CLI
dotnet add package Syncfusion.Maui.DataPager
Package Manager Console
Install-Package Syncfusion.Maui.DataPager
Getting started
1. Register the Syncfusion core handler
In MauiProgram.cs, call ConfigureSyncfusionCore():
using Syncfusion.Maui.Core.Hosting;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore();
return builder.Build();
}
}
2. Create a model and a view model
using System.Collections.ObjectModel;
public class OrderInfo
{
public int OrderID { get; set; }
public string CustomerName { get; set; }
public string Country { get; set; }
}
public class OrderViewModel
{
public ObservableCollection<OrderInfo> Orders { get; set; }
public OrderViewModel()
{
Orders = new ObservableCollection<OrderInfo>
{
new OrderInfo { OrderID = 1001, CustomerName = "Maria Anders", Country = "Germany" },
new OrderInfo { OrderID = 1002, CustomerName = "Ana Trujillo", Country = "Mexico" },
new OrderInfo { OrderID = 1003, CustomerName = "Thomas Hardy", Country = "UK" }
};
}
}
3. Add SfDataGrid and SfDataPager to your page
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:syncfusion="clr-namespace:Syncfusion.Maui.DataGrid;assembly=Syncfusion.Maui.DataGrid"
xmlns:sfpager="clr-namespace:Syncfusion.Maui.DataPager;assembly=Syncfusion.Maui.DataPager"
xmlns:local="clr-namespace:YourAppNamespace"
x:Class="YourAppNamespace.MainPage">
<ContentPage.BindingContext>
<local:OrderViewModel />
</ContentPage.BindingContext>
<Grid RowDefinitions="*,Auto">
<syncfusion:SfDataGrid x:Name="dataGrid"
ItemsSource="{Binding Source={x:Reference dataPager}, Path=PagedSource}" />
<sfpager:SfDataPager x:Name="dataPager"
Grid.Row="1"
PageSize="10"
Source="{Binding Orders}"
TargetGrid="{Reference dataGrid}" />
</Grid>
</ContentPage>
Run the app. The grid displays the current page while the pager controls navigation.
You can use the same paging source pattern with CollectionView, SfListView, and SfTreeGrid when building paged views for other controls.
Common scenarios
Configure paging behavior
<sfpager:SfDataPager Source="{Binding Orders}"
PageSize="10"
PageIndex="0"
DisplayMode="FirstLastPreviousNextNumeric"
NumericButtonCount="5" />
Enable on-demand paging
<sfpager:SfDataPager Source="{Binding Orders}"
PageSize="50"
UseOnDemandPaging="True" />
Customize button appearance
<sfpager:SfDataPager Source="{Binding Orders}"
PageSize="20"
ButtonShape="Rectangle"
ButtonCornerRadius="6"
ButtonSize="44"
ButtonSpacing="8"
ButtonFontSize="14" />
Use with SfDataGrid
<Grid RowDefinitions="*,Auto">
<syncfusion:SfDataGrid x:Name="dataGrid"
ItemsSource="{Binding Source={x:Reference dataPager}, Path=PagedSource}" />
<sfpager:SfDataPager x:Name="dataPager"
Grid.Row="1"
Source="{Binding Orders}"
PageSize="20"
TargetGrid="{Reference dataGrid}" />
</Grid>
Use with CollectionView, SfListView, or SfTreeGrid
The SfDataPager can also be used to page data for other list-based controls, including CollectionView, SfListView, and SfTreeGrid, by binding each control to the appropriate paged or page-changed data source pattern.
For more features, see the DataPager documentation.
Dependencies
Installing this package also installs the following packages:
Syncfusion.Maui.CoreSyncfusion.Maui.Data
Licensing
This is a commercial product and requires a valid license. You have three options:
- Free Community License: for individual developers and small businesses. Check eligibility
- 30-day free trial: Start a trial
- Commercial license: View pricing
Register your license key
Register the key in App.xaml.cs before the app is built:
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY");
For details, see Licensing overview. Use of this package is subject to the Syncfusion EULA.
Support and feedback
- Support tickets: Syncfusion Support Portal
- Community forums: .NET MAUI Forums
- Feature requests and bug reports: Feedback Portal
- Samples: Syncfusion .NET MAUI demos on GitHub
About Syncfusion
Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 26,000+ customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.
Today, we provide 1600+ components and frameworks for web (Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, JavaScript, Angular, React, Vue, and Flutter), mobile (.NET MAUI, Xamarin, Flutter, UWP, and JavaScript), and desktop development (WinForms, WPF, WinUI, Flutter and UWP). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.
[email protected] | www.syncfusion.com | Toll Free: 1-888-9 DOTNET
Changes from Previous Version
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.