From 91d216374d1774ae26365d4cc14ec0dba8df8651 Mon Sep 17 00:00:00 2001 From: Peace Date: Wed, 19 Jun 2024 14:34:07 +0900 Subject: [PATCH] quickgrid filtering --- .../Components/Pages/QCInMemory.razor | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor index aff65cb..c64cef5 100644 --- a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor +++ b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor @@ -45,8 +45,35 @@

Filtering


+
+ + + + + + + + + + + +

Min: @minMedals

+

Max: @maxMedals

+
+
+
+ + +
+ @code { + string nameFilter; + int minMedals; + int maxMedals = 120; + PaginationState pagination = new PaginationState { ItemsPerPage = 10 }; IQueryable? itemsQueryable; @@ -55,4 +82,19 @@ var items = await Data.GetDataAsync(); itemsQueryable = items.AsQueryable(); } + + IQueryable FilteredMedalTally + { + get + { + var result = itemsQueryable?.Where(c => c.Total <= maxMedals); + if (!string.IsNullOrEmpty(nameFilter)) + result = result.Where(c => c.Name.Contains(nameFilter, StringComparison.CurrentCultureIgnoreCase)); + + if (minMedals > 0) + result = result.Where(c => c.Total >= minMedals); + + return result; + } + } }