Get current page of Grid

I sure there must be a simple way to do this but I just can't find it. How do I get the current page of the datagrid?

3 Replies 1 reply marked as answer

RS Renjith Singh Rajendran Syncfusion Team May 17, 2021 12:06 PM UTC

Hi Michael, 

Greetings from Syncfusion support. 

We suggest you to use the below code to get the CurrentPage number of Grid. Please refer the codes below, 

<SfGrid @ref="Grid" ... AllowPaging="true" ...>    ...</SfGrid>
 
    SfGrid<Order> Grid; 
    public double CurrentPage { getset; } 
    public void OnClick() 
    { 
        CurrentPage = Grid.PageSettings.CurrentPage; 
    } 

 

 
Please get back to us if you need further assistance. 

Regards, 
Renjith R 


Marked as answer

DA Daniel September 17, 2021 07:35 PM UTC

Hi, I'm trying to get the total page count with

Grid.PageSettings.PageCount


But it only return 8 at maximum



It appears to be returin the maximum pagecount visible. How do I get total Page Count?



JP Jeevakanth Palaniappan Syncfusion Team September 20, 2021 11:40 AM UTC

Hi Daniel, 

Greetings from Syncfusion support. 

We have validated your query and if you didn’t set the PageCount property in GridPageSettings then we suggest you to use the below code to get the PageCount of the Grid. 

@using Syncfusion.Blazor.Grids 
 
<button @onclick="GetPageCount">PageCount</button> 
 
<SfGrid @ref="DefaultGrid" DataSource="@Orders" AllowPaging="true" Height="200"> 
    <GridColumns> 
        <GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn> 
        <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn> 
        <GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn> 
        <GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Visible="false" Format="C2" TextAlign="TextAlign.Right" Width="120"></GridColumn> 
    </GridColumns> 
</SfGrid> 
 
@code{ 
    private SfGrid<Order> DefaultGrid; 
    public List<Order> Orders { get; set; } 
 
private void GetPageCount() 
    { 
        var pagecount = (DefaultGrid.TotalItemCount % DefaultGrid.PageSettings.PageSize) > 0 ? 
            (DefaultGrid.TotalItemCount / DefaultGrid.PageSettings.PageSize) + 1 : 
        DefaultGrid.TotalItemCount / DefaultGrid.PageSettings.PageSize;             
    } 
    protected override void OnInitialized() 
    { 
        Orders = Enumerable.Range(1, 175).Select(x => new Order() 
        { 
            OrderID = 1000 + x, 
            CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)], 
            Freight = 2.1 * x, 
            OrderDate = DateTime.Now.AddDays(-x), 
        }).ToList(); 
    } 
 
    public class Order 
    { 
        public int? OrderID { get; set; } 
        public string CustomerID { get; set; } 
        public DateTime? OrderDate { get; set; } 
        public double? Freight { get; set; } 
    } 
 
} 

Get back to us if you have any other queries. 

Regards, 
Jeevakanth SP. 
 


Loader.
Up arrow icon