diff --git a/ValblazeProject/Pages/List.razor b/ValblazeProject/Pages/List.razor
index 5badf11..46d0640 100644
--- a/ValblazeProject/Pages/List.razor
+++ b/ValblazeProject/Pages/List.razor
@@ -1,34 +1,28 @@
@page "/list"
+@using ValblazeProject.Models
List
-@if (items != null)
-{
-
-
-
- Id |
- Display Name |
- Stack Size |
- Maximum Durability |
- Enchant Categories |
- Repair With |
- Created Date |
-
-
-
- @foreach (var item in items)
- {
-
- @item.Id |
- @item.DisplayName |
- @item.StackSize |
- @item.MaxDurability |
- @(string.Join(", ", item.EnchantCategories)) |
- @(string.Join(", ", item.RepairWith)) |
- @item.CreatedDate.ToShortDateString() |
-
- }
-
-
-}
\ No newline at end of file
+
+
+
+
+
+
+
+ @(string.Join(", ", ((Item)context).EnchantCategories))
+
+
+
+
+ @(string.Join(", ", ((Item)context).RepairWith))
+
+
+
+
\ No newline at end of file
diff --git a/ValblazeProject/Pages/List.razor.cs b/ValblazeProject/Pages/List.razor.cs
index 95425af..18713fd 100644
--- a/ValblazeProject/Pages/List.razor.cs
+++ b/ValblazeProject/Pages/List.razor.cs
@@ -1,11 +1,14 @@
-using Microsoft.AspNetCore.Components;
+using Blazorise.DataGrid;
+using Microsoft.AspNetCore.Components;
using ValblazeProject.Models;
namespace ValblazeProject.Pages
{
public partial class List
{
- private Item[] items;
+ private List- items;
+
+ private int totalItem;
[Inject]
public HttpClient Http { get; set; }
@@ -13,9 +16,22 @@ namespace ValblazeProject.Pages
[Inject]
public NavigationManager NavigationManager { get; set; }
- protected override async Task OnInitializedAsync()
+ private async Task OnReadData(DataGridReadDataEventArgs
- e)
{
- items = await Http.GetFromJsonAsync
- ($"{NavigationManager.BaseUri}fake-data.json");
+ 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-data.json")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList();
+
+ if (!e.CancellationToken.IsCancellationRequested)
+ {
+ totalItem = (await Http.GetFromJsonAsync
>($"{NavigationManager.BaseUri}fake-data.json")).Count;
+ items = new List- (response); // an actual data for the current page
+ }
}
}
}
diff --git a/ValblazeProject/Pages/_Layout.cshtml b/ValblazeProject/Pages/_Layout.cshtml
index 69e5d17..32be267 100644
--- a/ValblazeProject/Pages/_Layout.cshtml
+++ b/ValblazeProject/Pages/_Layout.cshtml
@@ -28,5 +28,11 @@
+
+
+
+
+
+