From d85d2f3e52e9a60da9ffdbe71535f012e72f1ba0 Mon Sep 17 00:00:00 2001 From: Denis Voituron Date: Tue, 1 Apr 2025 10:56:17 +0200 Subject: [PATCH 1/2] Add TreewView MultiSelect example --- .../Examples/TreeViewMultiSelect.razor | 69 +++++++++++++++++++ .../Shared/Pages/TreeView/TreeViewPage.razor | 2 + 2 files changed, 71 insertions(+) create mode 100644 examples/Demo/Shared/Pages/TreeView/Examples/TreeViewMultiSelect.razor diff --git a/examples/Demo/Shared/Pages/TreeView/Examples/TreeViewMultiSelect.razor b/examples/Demo/Shared/Pages/TreeView/Examples/TreeViewMultiSelect.razor new file mode 100644 index 0000000000..8750ea1fb4 --- /dev/null +++ b/examples/Demo/Shared/Pages/TreeView/Examples/TreeViewMultiSelect.razor @@ -0,0 +1,69 @@ + + + + @context.Text + + + + +
+ Selected items: @(string.Join("; ", SelectedItems.Select(i => i.Text))) +
+ + + +@code +{ + private int Count = -1; + private IEnumerable Items = new List(); + private List SelectedItems = new List(); + + protected override void OnInitialized() + { + Items = CreateTree(maxLevel: 3, nbItemsPerLevel: 5).Items ?? []; + } + + // Add or remove item from the selected items list + private void CheckboxHandler(bool selected, ITreeViewItem item) + { + if (selected && !SelectedItems.Contains(item)) + { + SelectedItems.Add(item); + } + else if (!selected && SelectedItems.Contains(item)) + { + SelectedItems.Remove(item); + } + } + + // Recursive method to create tree + private TreeViewItem CreateTree(int maxLevel, int nbItemsPerLevel, int level = 0) + { + Count++; + + var treeItem = new TreeViewItem + { + Text = $"Item {Count}", + Items = level == maxLevel + ? null + : new List(Enumerable.Range(1, nbItemsPerLevel) + .Select(i => CreateTree(maxLevel, nbItemsPerLevel, level + 1))), + }; + + return treeItem; + } +} diff --git a/examples/Demo/Shared/Pages/TreeView/TreeViewPage.razor b/examples/Demo/Shared/Pages/TreeView/TreeViewPage.razor index 956ad4adb9..b5f67b325f 100644 --- a/examples/Demo/Shared/Pages/TreeView/TreeViewPage.razor +++ b/examples/Demo/Shared/Pages/TreeView/TreeViewPage.razor @@ -35,6 +35,8 @@ + + From 5520c3607634054672615c369e6b7bccd4396c33 Mon Sep 17 00:00:00 2001 From: Vincent Baaij Date: Tue, 1 Apr 2025 11:35:38 +0200 Subject: [PATCH 2/2] Fix test (caused by PR #3593) --- ...dSortByTests_SortByColumnIndex_Ascending.verified.razor.html | 2 +- ...SortByTests_SortByColumnIndex_Descending.verified.razor.html | 2 +- ...dSortByTests_SortByColumnTitle_Ascending.verified.razor.html | 2 +- ...SortByTests_SortByColumnTitle_Descending.verified.razor.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Core/DataGrid/DataGridSortByTests.DataGridSortByTests_SortByColumnIndex_Ascending.verified.razor.html b/tests/Core/DataGrid/DataGridSortByTests.DataGridSortByTests_SortByColumnIndex_Ascending.verified.razor.html index e60ad0bf58..eccdadcdc5 100644 --- a/tests/Core/DataGrid/DataGridSortByTests.DataGridSortByTests_SortByColumnIndex_Ascending.verified.razor.html +++ b/tests/Core/DataGrid/DataGridSortByTests.DataGridSortByTests_SortByColumnIndex_Ascending.verified.razor.html @@ -3,7 +3,7 @@ - +
Item1
+
Item1
+
Item1
+
Item1