Blazorise DataGrid: Paging
Paging provides an option to display DataGrid data in pages.
Overview
With the paging enabled, users can easily navigate the DataGrid by clicking on a page button. This can be particularly useful when working with large sets of data.
Examples
Paging
Paging is handled automatically by the DataGrid. To show the pager you need to enable the ShowPager parameter.
To show the pager you need to enable the ShowPager parameter.
PageSizethe maximum number of items for each page.CurrentPagecurrent page number.PreviousPageButtonTemplatetemplate for previous page buttonNextPageButtonTemplatetemplate for next page buttonFirstPageButtonTemplatetemplate for first page buttonLastPageButtonTemplatetemplate for last page buttonPageButtonTemplatetemplate for explicated page button withPageButtonContextas parameterPagerOptionswill provide you with additional settings to customize your pager.
Pager Customization Example
Below you will find a fully customized pager.<DataGrid TItem="Employee" Data="" @bind-SelectedRow="" Responsive ShowPager ShowPageSizes PagerPosition="DataGridPagerPosition.TopAndBottom" PagerOptions="new(){ ButtonSize=Size.Small }"> <DataGridColumns> <DataGridCommandColumn /> <DataGridColumn Field="@nameof(Employee.Id)" Caption="#" Sortable="false" /> <DataGridColumn Field="@nameof(Employee.FirstName)" Caption="First Name" Editable /> <DataGridColumn Field="@nameof(Employee.LastName)" Caption="Last Name" Editable /> <DataGridColumn Field="@nameof(Employee.Email)" Caption="Email" Editable /> <DataGridColumn Field="@nameof(Employee.Salary)" Caption="Salary" DisplayFormat="{0:C}" DisplayFormatProvider="@System.Globalization.CultureInfo.GetCultureInfo("fr-FR")" Editable> <EditTemplate> <NumericEdit TValue="decimal" Value="@((decimal)context.CellValue)" ValueChanged="@( v => context.CellValue = v)" /> </EditTemplate> </DataGridColumn> </DataGridColumns> <PageButtonTemplate> <Span TextColor="TextColor.Success"> @context.PageNumber </Span> </PageButtonTemplate> <NextPageButtonTemplate><Icon Name="IconName.StepForward" TextColor="TextColor.Success" /></NextPageButtonTemplate> <PreviousPageButtonTemplate><Icon Name="IconName.StepBackward" TextColor="TextColor.Success" /></PreviousPageButtonTemplate> <LastPageButtonTemplate><Icon Name="IconName.Forward" TextColor="TextColor.Success" /></LastPageButtonTemplate> <FirstPageButtonTemplate><Icon Name="IconName.Backward" TextColor="TextColor.Success" /></FirstPageButtonTemplate> <TotalItemsTemplate><Badge Color="Color.Success">@context.TotalItems total items</Badge></TotalItemsTemplate> <TotalItemsShortTemplate><Badge Color="Color.Success">@context.TotalItems</Badge></TotalItemsShortTemplate> <ItemsPerPageTemplate></ItemsPerPageTemplate> <PageSelectorTemplate> <Select TextColor="TextColor.Success" @bind-SelectedValue="@context.CurrentPage" Size="Size.Small"> @for ( int i = context.FirstVisiblePage; i <= context.LastVisiblePage; ++i ) { var pageNumber = i; <SelectItem Value="">@pageNumber</SelectItem> } </Select> </PageSelectorTemplate> <PageSizesTemplate> <Select TextColor="TextColor.Success" @bind-SelectedValue="@context.CurrentPageSize" Size="Size.Small"> @foreach ( var curPageSize in context.PageSizes ) { <SelectItem Value="">@curPageSize</SelectItem> } </Select> </PageSizesTemplate> </DataGrid>
@code{ [Inject] public EmployeeData EmployeeData { get; set; } private List<Employee> employeeList; private Employee selectedEmployee; protected override async Task OnInitializedAsync() { employeeList = await EmployeeData.GetDataAsync(); await base.OnInitializedAsync(); } }
API
See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.