Skip to content

Commit b49aa4e

Browse files
committed
Created parameter "SetSelected" to allow setting of selected items while using the grid in an edit context
1 parent 6091cd2 commit b49aa4e

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

blazorbootstrap/Components/Grid/Grid.razor.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
5353
{
5454
await RefreshDataAsync(firstRender);
5555
isFirstRenderComplete = true;
56-
}
56+
}
5757

5858
await base.OnAfterRenderAsync(firstRender);
5959
}
@@ -383,6 +383,7 @@ private async Task OnHeaderCheckboxChanged(ChangeEventArgs args)
383383
allItemsSelected = bool.TryParse(args?.Value?.ToString(), out var checkboxState) && checkboxState;
384384
selectedItems = allItemsSelected ? new HashSet<TItem>(items!) : new HashSet<TItem>();
385385
SelectedItemsCount = selectedItems.Count;
386+
SetSelected = selectedItems;
386387
await CheckOrUnCheckAll();
387388

388389
if (SelectedItemsChanged.HasDelegate)
@@ -456,8 +457,8 @@ private void PrepareCheckboxIds()
456457
private async Task RefreshSelectionAsync()
457458
{
458459
selectedItems = (items?.Count ?? 0) == 0
459-
? new HashSet<TItem>()
460-
: selectedItems?.Intersect(items!).ToHashSet() ?? new HashSet<TItem>();
460+
? new HashSet<TItem>()
461+
: selectedItems?.Intersect(items!).ToHashSet() ?? new HashSet<TItem>();
461462

462463
SelectedItemsCount = selectedItems.Count;
463464
allItemsSelected = SelectedItemsCount > 0 && items!.Count == SelectedItemsCount;
@@ -584,6 +585,19 @@ private void SetFilters(IEnumerable<FilterItem> filterItems)
584585
[Parameter]
585586
public bool AllowRowClick { get; set; }
586587

588+
/// <summary>
589+
/// Gets or sets the grid set selection.
590+
/// </summary>
591+
/// <remarks>
592+
/// Default value is false.
593+
/// </remarks>
594+
[Parameter]
595+
public HashSet<TItem> SetSelected
596+
{
597+
get => selectedItems;
598+
set => selectedItems = value;
599+
}
600+
587601
/// <summary>
588602
/// Gets or sets the grid selection.
589603
/// </summary>

0 commit comments

Comments
 (0)