From f7384e025ccd7e44d096d330a7573000c328d9f2 Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Mon, 24 Feb 2025 14:32:35 +0200 Subject: [PATCH 1/2] docs(Grid): Simplify and show args.Field in Grid row event examples --- _contentTemplates/common/click-events.md | 13 - components/grid/events.md | 229 ++++++++---------- components/grid/images/onrowclick-example.gif | Bin 72692 -> 0 bytes components/treelist/events.md | 3 +- 4 files changed, 99 insertions(+), 146 deletions(-) delete mode 100644 components/grid/images/onrowclick-example.gif diff --git a/_contentTemplates/common/click-events.md b/_contentTemplates/common/click-events.md index 8915992144..3bd57bdc5f 100644 --- a/_contentTemplates/common/click-events.md +++ b/_contentTemplates/common/click-events.md @@ -32,19 +32,6 @@ The event *does not fire* when the user: #end -#rowclick-args-example - - if (args.EventArgs is KeyboardEventArgs keyboardEventArgs) - { - Console.WriteLine($"The user pressed {keyboardEventArgs.Key} on row {model.Name} and column {args.Field}."); - } - else if (args.EventArgs is MouseEventArgs mouseEventArgs) - { - Console.WriteLine($"The user clicked {mouseEventArgs.ClientX} {mouseEventArgs.ClientY} on row {model.Name} and column {args.Field}."); - } - -#end - #rowcontextmenu The `OnRowContextMenu` event fires when the user: diff --git a/components/grid/events.md b/components/grid/events.md index 8d698fc090..44c1e4194c 100644 --- a/components/grid/events.md +++ b/components/grid/events.md @@ -491,98 +491,61 @@ The `OnRowClick` event handler receives a `GridRowClickEventArgs` argument, whic @[template](/_contentTemplates/common/click-events.md#clickeventargs) ->caption Use the OnRowClick event to load data on demand based on the clicked row +>caption Using the Grid OnRowClick event ````RAZOR -@* Use the OnRowClick event to load data on demand based on the clicked row *@ - -There is a deliberate delay in the data loading to showcase the async nature of the event - - + - - - - + + + + -@if (ProjectData.Any()) -{ -
- - -} +

@( (MarkupString)RowEventLog )

@code { - // enable single row selection to showcase the clicked row to the user. Not mandatory - public IEnumerable SelectedItems { get; set; } = Enumerable.Empty(); + private List GridData { get; set; } = new(); - // data that will be loaded on demand for the next components - another grid in this sample - public List ProjectData { get; set; } = new List(); + private string RowEventLog { get; set; } = "Click a Grid cell or hit Enter while it's focused..."; - async Task OnRowClickHandler(GridRowClickEventArgs args) + private void OnGridRowClick(GridRowClickEventArgs args) { - var model = args.Item as SampleData; + var dataItem = (Product)args.Item; + string columnField = args.Field; + string userAction = args.EventArgs is KeyboardEventArgs ? "key press" : "click"; - ProjectData = await GetProjectData(model.Id); - @[template](/_contentTemplates/common/click-events.md#rowclick-args-example) + RowEventLog = $@"OnRowClick event fired for {userAction} on + row {dataItem.Id} and column {columnField}"; } - async Task> GetProjectData(int id) + protected override void OnInitialized() { - await Task.Delay(500); // simulate loading data from a service, remove from a real app - - ProjectData = new List() + for (int i = 1; i <= 5; i++) { - new ProjectModel() - { - ProjectManagerId = id, - ProjectName = $"Project name {id}", - DueDate = DateTime.Today.AddDays(-id), - isActive = id % 2 == 0 ? true : false + GridData.Add(new Product() + { + Id = i, + Name = $"Name {i}", + Price = Random.Shared.Next(1, 100) * 1.23m, + Quantity = Random.Shared.Next(0, 1000) + }); } - }; - return await Task.FromResult(ProjectData); } - public IEnumerable MyData = Enumerable.Range(1, 30).Select(x => new SampleData - { - Id = x, - Name = "name " + x, - Team = "team " + x % 5, - HireDate = DateTime.Now.AddDays(-x).Date - }); - - public class SampleData + public class Product { public int Id { get; set; } - public string Name { get; set; } - public string Team { get; set; } - public DateTime HireDate { get; set; } - } - - public class ProjectModel - { - public int ProjectManagerId { get; set; } - public string ProjectName { get; set; } - public DateTime DueDate { get; set; } - public bool isActive { get; set; } + public string Name { get; set; } = string.Empty; + public decimal Price { get; set; } + public int Quantity { get; set; } } } ```` ->caption The result from the code snippet above - -![OnRowClick example](images/onrowclick-example.gif) - ## OnRowDoubleClick @[template](/_contentTemplates/common/click-events.md#rowdoubleclick) @@ -591,57 +554,55 @@ The `OnRowDoubleClick` event handler receives a `GridRowClickEventArgs` argument @[template](/_contentTemplates/common/click-events.md#clickeventargs) ->caption Use the OnRowDoubleClick event to receive information on the clicked row +>caption Using the Grid OnRowDoubleClick event ````RAZOR -@* Use the OnRowDoubleClick event to receive information on the row the user clicked on *@ - - + - - - - + + + + -@if (!String.IsNullOrEmpty(logger)) -{ -
- @logger -
-} +

@( (MarkupString)RowEventLog )

@code { - string logger = String.Empty; + private List GridData { get; set; } = new(); - void OnRowDoubleClickHandler(GridRowClickEventArgs args) + private string RowEventLog { get; set; } = "Double-click a Grid cell..."; + + private void OnGridRowDoubleClick(GridRowClickEventArgs args) { - var model = args.Item as SampleData; + var dataItem = (Product)args.Item; + string columnField = args.Field; - logger = $"Double clicked on {model.Name}"; - @[template](/_contentTemplates/common/click-events.md#rowclick-args-example) - + RowEventLog = $@"OnRowDoubleClick event fired for + row {dataItem.Id} and column {columnField}"; } - public IEnumerable MyData = Enumerable.Range(1, 30).Select(x => new SampleData + protected override void OnInitialized() { - Id = x, - Name = "name " + x, - Team = "team " + x % 5, - HireDate = DateTime.Now.AddDays(-x).Date - }); + for (int i = 1; i <= 5; i++) + { + GridData.Add(new Product() + { + Id = i, + Name = $"Name {i}", + Price = Random.Shared.Next(1, 100) * 1.23m, + Quantity = Random.Shared.Next(0, 1000) + }); + } + } - public class SampleData + public class Product { public int Id { get; set; } - public string Name { get; set; } - public string Team { get; set; } - public DateTime HireDate { get; set; } + public string Name { get; set; } = string.Empty; + public decimal Price { get; set; } + public int Quantity { get; set; } } } ```` @@ -654,53 +615,57 @@ The `OnRowContextMenu` event handler receives a `GridRowClickEventArgs` argument @[template](/_contentTemplates/common/click-events.md#clickeventargs) ->caption Use the Grid OnRowContextMenu event and get the data model +>caption Using the Grid OnRowContextMenu event ````RAZOR -@* Get the row model from a context menu action (right click/long tap) *@ - - + - - - - + + + + -
- -@logger +

@( (MarkupString)RowEventLog )

@code { - void OnRowContextMenuHandler(GridRowClickEventArgs args) - { - SampleData model = args.Item as SampleData; + private List GridData { get; set; } = new(); - logger = $"OnRowContextMenu event fired from right clicking on {model.Name}"; - @[template](/_contentTemplates/common/click-events.md#rowclick-args-example) - } + private string RowEventLog { get; set; } = "Right-click a Grid cell or hit the context menu key while it's focused..."; - public IEnumerable MyData = Enumerable.Range(1, 30).Select(x => new SampleData + private void OnGridRowContextMenu(GridRowClickEventArgs args) { - Id = x, - Name = "name " + x, - Team = "team " + x % 5, - HireDate = DateTime.Now.AddDays(-x).Date - }); + var dataItem = (Product)args.Item; + string columnField = args.Field; + string userAction = args.EventArgs is KeyboardEventArgs ? "key press" : "click"; - public string logger { get; set; } = String.Empty; + RowEventLog = $@"OnRowContextMenu event fired for {userAction} on + row {dataItem.Id} and column {columnField}"; + } + protected override void OnInitialized() + { + for (int i = 1; i <= 5; i++) + { + GridData.Add(new Product() + { + Id = i, + Name = $"Name {i}", + Price = Random.Shared.Next(1, 100) * 1.23m, + Quantity = Random.Shared.Next(0, 1000) + }); + } + } - public class SampleData + public class Product { public int Id { get; set; } - public string Name { get; set; } - public string Team { get; set; } - public DateTime HireDate { get; set; } + public string Name { get; set; } = string.Empty; + public decimal Price { get; set; } + public int Quantity { get; set; } } } ```` diff --git a/components/grid/images/onrowclick-example.gif b/components/grid/images/onrowclick-example.gif deleted file mode 100644 index cc14c707c4ce3dd85630b31996a70b9d430669a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72692 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 Q^#;>T^*z*`9U!^?1ravHBme*a diff --git a/components/treelist/events.md b/components/treelist/events.md index bdfc4680b2..390782bc5a 100644 --- a/components/treelist/events.md +++ b/components/treelist/events.md @@ -987,7 +987,8 @@ The `OnRowClick` event handler receives a `TreeListRowClickEventArgs` argument, @code { private void OnRowClickHander(TreeListRowClickEventArgs args) { - var clickedRow = args.Item as Employee; + var clickedRow = (Employee)args.Item; + string columnField = args.Field; } public List Data { get; set; } From 5194cb8086b5bc0a78677eb81f136bcc4ce02f87 Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Mon, 24 Feb 2025 14:34:22 +0200 Subject: [PATCH 2/2] Add missing lines in TreeList examples --- components/treelist/events.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/components/treelist/events.md b/components/treelist/events.md index 390782bc5a..9076550eb9 100644 --- a/components/treelist/events.md +++ b/components/treelist/events.md @@ -1090,7 +1090,8 @@ The `OnRowDoubleClick` event handler receives a `TreeListRowClickEventArgs` argu @code { private void OnRowDoubleClickHander(TreeListRowClickEventArgs args) { - var clickedRow = args.Item as Employee; + var clickedRow = (Employee)args.Item; + string columnField = args.Field; } public List Data { get; set; } @@ -1201,9 +1202,9 @@ The `OnRowContextMenu` event handler receives a `TreeListRowClickEventArgs` argu private void OnRowContextMenuHandler(TreeListRowClickEventArgs args) { - var clickedRow = args.Item as Employee; + var clickedRow = (Employee)args.Item; - logger = $"OnRowContextMenu event fired from right clicking on {clickedRow.Name}"; + logger = $"OnRowContextMenu event fired from right clicking on row {clickedRow.Name} and column {args.Field}"; } public List Data { get; set; }