diff --git a/Blazor/Blazor/Pages/Administrators.razor b/Blazor/Blazor/Pages/Administrators.razor index 1cd98cd..4f24f83 100644 --- a/Blazor/Blazor/Pages/Administrators.razor +++ b/Blazor/Blazor/Pages/Administrators.razor @@ -1,7 +1,16 @@ -@page "/Administrators" +@page "/administrators" +@using Blazor.Models; +@using Blazorise.DataGrid +

Administrators

-

Component

+ + + + -@code { - -} diff --git a/Blazor/Blazor/Pages/Administrators.razor.cs b/Blazor/Blazor/Pages/Administrators.razor.cs index 05cd3a7..f6bf567 100644 --- a/Blazor/Blazor/Pages/Administrators.razor.cs +++ b/Blazor/Blazor/Pages/Administrators.razor.cs @@ -1,6 +1,37 @@ -namespace Blazor.Pages +using Microsoft.AspNetCore.Components; +using Blazor.Models; +using Blazorise.DataGrid; + +namespace Blazor.Pages { - public class ListAdministrators + public partial class Administrators { + public List administrators; + + private int totalItem; + + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + private async Task OnReadData(DataGridReadDataEventArgs e) + { + if (e.CancellationToken.IsCancellationRequested) + { + return; + } + + // When you use a real API, we use this follow code + //var response = await Http.GetJsonAsync( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" ); + var response = (await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-administrator.json")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); + + if (!e.CancellationToken.IsCancellationRequested) + { + totalItem = (await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-administrator.json")).Count; + administrators = new List(response); // an actual data for the current page + } + } } }