diff --git a/BlazorProject/BlazorProject/BlazorProject.csproj b/BlazorProject/BlazorProject/BlazorProject.csproj
index c78c9c7..c0eacf6 100644
--- a/BlazorProject/BlazorProject/BlazorProject.csproj
+++ b/BlazorProject/BlazorProject/BlazorProject.csproj
@@ -6,4 +6,11 @@
enable
+
+
+
+
+
+
+
diff --git a/BlazorProject/BlazorProject/Models/Item.cs b/BlazorProject/BlazorProject/Models/Item.cs
new file mode 100644
index 0000000..b1ae29b
--- /dev/null
+++ b/BlazorProject/BlazorProject/Models/Item.cs
@@ -0,0 +1,15 @@
+namespace BlazorProject.Models
+{
+ public class Item
+ {
+ public int Id { get; set; }
+ public string DisplayName { get; set; }
+ public string Name { get; set; }
+ public int StackSize { get; set; }
+ public int MaxDurability { get; set; }
+ public List EnchantCategories { get; set; }
+ public List RepairWith { get; set; }
+ public DateTime CreatedDate { get; set; }
+ public DateTime? UpdatedDate { get; set; }
+ }
+}
diff --git a/BlazorProject/BlazorProject/Pages/List.razor b/BlazorProject/BlazorProject/Pages/List.razor
new file mode 100644
index 0000000..3077a5c
--- /dev/null
+++ b/BlazorProject/BlazorProject/Pages/List.razor
@@ -0,0 +1,28 @@
+@page "/list"
+@using BlazorProject.Models
+
+List
+
+
+
+
+
+
+
+
+ @(string.Join(", ", ((Item)context).EnchantCategories))
+
+
+
+
+ @(string.Join(", ", ((Item)context).RepairWith))
+
+
+
+
\ No newline at end of file
diff --git a/BlazorProject/BlazorProject/Pages/List.razor.cs b/BlazorProject/BlazorProject/Pages/List.razor.cs
new file mode 100644
index 0000000..916f19d
--- /dev/null
+++ b/BlazorProject/BlazorProject/Pages/List.razor.cs
@@ -0,0 +1,37 @@
+using Blazorise.DataGrid;
+using BlazorProject.Models;
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorProject.Pages
+{
+ public partial class List
+ {
+ private List- items;
+
+ 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-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/BlazorProject/BlazorProject/Pages/_Layout.cshtml b/BlazorProject/BlazorProject/Pages/_Layout.cshtml
index fedeff4..49685b6 100644
--- a/BlazorProject/BlazorProject/Pages/_Layout.cshtml
+++ b/BlazorProject/BlazorProject/Pages/_Layout.cshtml
@@ -28,5 +28,9 @@
+
+
+
+