From fd524f523d3a1c157ab2b5b2866635fb31a75596 Mon Sep 17 00:00:00 2001 From: Peace Date: Thu, 27 Jun 2024 17:21:21 +0900 Subject: [PATCH] datagrid load event --- .../.config/dotnet-tools.json | 13 +++ .../Components/Layout/NavMenu.razor | 6 ++ .../Components/Pages/DataGridAdv.razor | 89 +++++++++++++++++++ .../ComponentPractice/Program.cs | 2 + 4 files changed, 110 insertions(+) create mode 100644 ComponentPractice/ComponentPractice/.config/dotnet-tools.json create mode 100644 ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor diff --git a/ComponentPractice/ComponentPractice/.config/dotnet-tools.json b/ComponentPractice/ComponentPractice/.config/dotnet-tools.json new file mode 100644 index 0000000..4f257cf --- /dev/null +++ b/ComponentPractice/ComponentPractice/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "8.0.6", + "commands": [ + "dotnet-ef" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/ComponentPractice/ComponentPractice/Components/Layout/NavMenu.razor b/ComponentPractice/ComponentPractice/Components/Layout/NavMenu.razor index bd49fb0..a9f1401 100644 --- a/ComponentPractice/ComponentPractice/Components/Layout/NavMenu.razor +++ b/ComponentPractice/ComponentPractice/Components/Layout/NavMenu.razor @@ -55,6 +55,12 @@   DataGrid + + diff --git a/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor b/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor new file mode 100644 index 0000000..9d32622 --- /dev/null +++ b/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor @@ -0,0 +1,89 @@ +@page "/datagridadv" +@using System.Linq.Dynamic.Core + +@inject InMemoryData data; + +@rendermode RenderMode.InteractiveServer + + + DataGrid LoadData Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@code { + RadzenDataGrid grid; + IEnumerable employees; + int count; + bool isLoading = false; + + List titles = new List { "Junior", "Mid", "Senior", "Lead", "Chief" }; + IEnumerable selectedTitles; + + async Task OnSelectedTitlesChange(object value) + { + if (selectedTitles != null && !selectedTitles.Any()) + selectedTitles = null; + + await grid.FirstPage(); + } + + async Task Reset() + { + grid.Reset(true); + await grid.FirstPage(true); + } + + async Task LoadData(LoadDataArgs args) + { + isLoading = true; + + await Task.Yield(); + + employees = await data.GetEmployeeDataAsync(100); + var query = employees.AsQueryable(); + + if (!string.IsNullOrEmpty(args.Filter)) + query = query.Where(args.Filter); + + if (!string.IsNullOrEmpty(args.OrderBy)) + query = query.OrderBy(args.OrderBy); + + count = query.Count(); + + employees = query.Skip(args.Skip.Value).Take(args.Top.Value).ToList(); + + isLoading = false; + } +} diff --git a/ComponentPractice/ComponentPractice/Program.cs b/ComponentPractice/ComponentPractice/Program.cs index add23c8..7f2c5ac 100644 --- a/ComponentPractice/ComponentPractice/Program.cs +++ b/ComponentPractice/ComponentPractice/Program.cs @@ -36,6 +36,8 @@ namespace ComponentPractice app.MapRazorComponents() .AddInteractiveServerRenderMode(); + //app.Urls.Add("http://*:5000"); + app.Run(); } }