From dbdb7fe193733a58a97e30e1f273e80e620670c1 Mon Sep 17 00:00:00 2001 From: Peace Date: Fri, 28 Jun 2024 14:07:14 +0900 Subject: [PATCH] datagrid contextmenu --- .../Components/Layout/MainLayout.razor | 4 +-- .../Components/Pages/DataGrid.razor | 2 +- .../Components/Pages/DataGridAdv.razor | 2 +- .../Components/Pages/DataGridREST.razor | 27 ++++++++++++++++--- .../ComponentPractice/Data/InMemoryData.cs | 2 +- .../ComponentPractice/Models/Employee.cs | 2 +- 6 files changed, 29 insertions(+), 10 deletions(-) diff --git a/ComponentPractice/ComponentPractice/Components/Layout/MainLayout.razor b/ComponentPractice/ComponentPractice/Components/Layout/MainLayout.razor index a3dbfe1..3f59462 100644 --- a/ComponentPractice/ComponentPractice/Components/Layout/MainLayout.razor +++ b/ComponentPractice/ComponentPractice/Components/Layout/MainLayout.razor @@ -14,8 +14,6 @@ @Body - -
@@ -23,3 +21,5 @@ Reload 🗙
+ + \ No newline at end of file diff --git a/ComponentPractice/ComponentPractice/Components/Pages/DataGrid.razor b/ComponentPractice/ComponentPractice/Components/Pages/DataGrid.razor index cff621b..39d722b 100644 --- a/ComponentPractice/ComponentPractice/Components/Pages/DataGrid.razor +++ b/ComponentPractice/ComponentPractice/Components/Pages/DataGrid.razor @@ -26,7 +26,7 @@ - + diff --git a/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor b/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor index 9d32622..0090fa9 100644 --- a/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor +++ b/ComponentPractice/ComponentPractice/Components/Pages/DataGridAdv.razor @@ -34,7 +34,7 @@ - + diff --git a/ComponentPractice/ComponentPractice/Components/Pages/DataGridREST.razor b/ComponentPractice/ComponentPractice/Components/Pages/DataGridREST.razor index 617a8d3..ffb960f 100644 --- a/ComponentPractice/ComponentPractice/Components/Pages/DataGridREST.razor +++ b/ComponentPractice/ComponentPractice/Components/Pages/DataGridREST.razor @@ -3,6 +3,7 @@ @using System.Linq.Dynamic.Core @inject NorthwindDataService service; +@inject ContextMenuService contextMenuService; @rendermode RenderMode.InteractiveServer @@ -30,9 +31,10 @@ - DataGrid Virtualization + DataGrid Virtualization & ContextMenu - @@ -49,10 +51,10 @@ + - @code { readonly int PAGE_SIZE = 10; @@ -94,10 +96,27 @@ // Virtualization IEnumerable vtzdCustomers; - + IList selectedVtzdCustomers; + string message = "Message: "; protected override async Task OnInitializedAsync() { var result = await service.GetCustomer(); vtzdCustomers = result.Value; } + + void OnCellContextMenu(DataGridCellMouseEventArgs args) + { + selectedVtzdCustomers = new List() { args.Data }; + + contextMenuService.Open(args, + new List { + new ContextMenuItem(){ Text = "ContextMenuItem 1", Value = 1, Icon = "home" }, + new ContextMenuItem(){ Text = "ContextMenuItem 2", Value = 2, Icon = "search" }, + new ContextMenuItem(){ Text = "ContextMenuItem 3", Value = 3, Icon = "info" }, + }, + e => { + message = $"Message: Menu item cliked! Value={e.Value} | Column: {args.Column.Property} | CustomerID: {args.Data.CustomerID}"; + InvokeAsync(StateHasChanged); + }); + } } diff --git a/ComponentPractice/ComponentPractice/Data/InMemoryData.cs b/ComponentPractice/ComponentPractice/Data/InMemoryData.cs index 167ae66..8f613bb 100644 --- a/ComponentPractice/ComponentPractice/Data/InMemoryData.cs +++ b/ComponentPractice/ComponentPractice/Data/InMemoryData.cs @@ -33,7 +33,7 @@ namespace ComponentPractice.Data City = cities[random.Next(cities.Length)], Region = regions[random.Next(regions.Length)], PostalCode = $"{random.Next(10000, 99999)}", - County = counties[random.Next(counties.Length)], + Country = counties[random.Next(counties.Length)], Phone = $"{random.Next(100, 999)}-555-{random.Next(1000, 9999)}", Extension = $"{random.Next(100, 9999)}", Notes = "Generated demo data" diff --git a/ComponentPractice/ComponentPractice/Models/Employee.cs b/ComponentPractice/ComponentPractice/Models/Employee.cs index 8bbb844..10a057d 100644 --- a/ComponentPractice/ComponentPractice/Models/Employee.cs +++ b/ComponentPractice/ComponentPractice/Models/Employee.cs @@ -14,7 +14,7 @@ public string City { get; set; } public string Region { get; set; } public string PostalCode { get; set; } - public string County { get; set; } + public string Country { get; set; } public string Phone { get; set; } public string Extension { get; set; } public string Notes { get; set; }