SfGrid<Order> Grid;
public double CurrentPage { get; set; }
public void OnClick()
{
CurrentPage = Grid.PageSettings.CurrentPage;
}
|
Hi, I'm trying to get the total page count with
But it only return 8 at maximum
It appears to be returin the maximum pagecount visible. How do I get total Page Count?
|
@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.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; }
}
} |