Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[DataGrid] Fix SelectedItems getting unselected when using pagination (and virtualization) - #4623

#4623
Merged
dvoituron merged 2 commits into
devmicrosoft/fluentui-blazor:devfrom
users/vnbaaij/fix-issue-#4596microsoft/fluentui-blazor:users/vnbaaij/fix-issue-#4596Copy head branch name to clipboard
Mar 15, 2026
Merged

[DataGrid] Fix SelectedItems getting unselected when using pagination (and virtualization)#4623
dvoituron merged 2 commits into
devmicrosoft/fluentui-blazor:devfrom
users/vnbaaij/fix-issue-#4596microsoft/fluentui-blazor:users/vnbaaij/fix-issue-#4596Copy head branch name to clipboard

Conversation

@vnbaaij

@vnbaaij vnbaaij commented Mar 13, 2026

Copy link
Copy Markdown
Collaborator

Fix #4596

When a DataGrid only has a subset of the full data set in memory (pagination and/or virtualization), the current Items collection does not represent all rows. In that case we must not remove selected items just because they are not in the current slice. Before, the SelectColumn logic did update the selected item collection.

@vnbaaij vnbaaij added this to the v4.14.1 milestone Mar 13, 2026
@vnbaaij
vnbaaij requested a review from dvoituron as a code owner March 13, 2026 14:35
Copilot AI review requested due to automatic review settings March 13, 2026 14:35
@github-actions

github-actions Bot commented Mar 13, 2026

Copy link
Copy Markdown

✅ All tests passed successfully

Details on your Workflow / Core Tests page.

@github-actions

github-actions Bot commented Mar 13, 2026

Copy link
Copy Markdown

Summary - Unit Tests Code Coverage

Summary
Generated on: 3/15/2026 - 12:55:47 PM
Coverage date: 3/15/2026 - 12:55:38 PM
Parser: Cobertura
Assemblies: 1
Classes: 258
Files: 368
Line coverage: 61.2% (6314 of 10306)
Covered lines: 6314
Uncovered lines: 3992
Coverable lines: 10306
Total lines: 34685
Branch coverage: 53.5% (3199 of 5975)
Covered branches: 3199
Total branches: 5975
Method coverage: Feature is only available for sponsors
Tag: 5652_23110755344

Coverage

Microsoft.FluentUI.AspNetCore.Components - 61.2%
Name Line Branch
Microsoft.FluentUI.AspNetCore.Components 61.2% 53.5%
Microsoft.FluentUI.AspNetCore.Components.AccordionChangeEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.ActionButton`1 50%
Microsoft.FluentUI.AspNetCore.Components.ActionLink`1 0%
Microsoft.FluentUI.AspNetCore.Components.CalendarExtended 95% 86.6%
Microsoft.FluentUI.AspNetCore.Components.CalendarTitles 87% 76.6%
Microsoft.FluentUI.AspNetCore.Components.CheckboxChangeEventArgs 50%
Microsoft.FluentUI.AspNetCore.Components.ColumnBase`1 26.2% 20.8%
Microsoft.FluentUI.AspNetCore.Components.ColumnKeyGridSort`1 0% 0%
Microsoft.FluentUI.AspNetCore.Components.ColumnOptionsLabels 100%
Microsoft.FluentUI.AspNetCore.Components.ColumnResizeLabels 100%
Microsoft.FluentUI.AspNetCore.Components.ColumnResizeOptions`1 0% 0%
Microsoft.FluentUI.AspNetCore.Components.ColumnSortLabels 100%
Microsoft.FluentUI.AspNetCore.Components.CommunicationToast 0% 0%
Microsoft.FluentUI.AspNetCore.Components.CommunicationToastContent 0%
Microsoft.FluentUI.AspNetCore.Components.ComponentParameters 16.6% 0%
Microsoft.FluentUI.AspNetCore.Components.Components.DateTime.RangeOfDates 100% 50%
Microsoft.FluentUI.AspNetCore.Components.Components.Tooltip.TooltipGlobalOp
tions
40%
Microsoft.FluentUI.AspNetCore.Components.Components.Tooltip.TooltipOptions 0%
Microsoft.FluentUI.AspNetCore.Components.Components.Tooltip.TooltipService 57.5% 30%
Microsoft.FluentUI.AspNetCore.Components.ConfirmationToast 0%
Microsoft.FluentUI.AspNetCore.Components.CountdownTimer 0% 0%
Microsoft.FluentUI.AspNetCore.Components.CustomEmoji 0% 0%
Microsoft.FluentUI.AspNetCore.Components.CustomIcon 0%
Microsoft.FluentUI.AspNetCore.Components.DataGrid.Infrastructure.AsyncQuery
ExecutorSupplier
38.4% 50%
Microsoft.FluentUI.AspNetCore.Components.DataGrid.Infrastructure.ColumnsCol
lectedNotifier`1
87.5% 50%
Microsoft.FluentUI.AspNetCore.Components.DataGrid.Infrastructure.Defer 100%
Microsoft.FluentUI.AspNetCore.Components.DataGrid.Infrastructure.DisplayAtt
ributeExtensions
66.6% 50%
Microsoft.FluentUI.AspNetCore.Components.DataGrid.Infrastructure.InternalGr
idContext`1
90.4% 100%
Microsoft.FluentUI.AspNetCore.Components.DataGridCellFocusEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.DataGridRowFocusEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.DataGridSortEventArgs`1 0%
Microsoft.FluentUI.AspNetCore.Components.DialogEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.DialogHelper 0%
Microsoft.FluentUI.AspNetCore.Components.DialogInstance 86.6% 75%
Microsoft.FluentUI.AspNetCore.Components.DialogParameters 91.1% 100%
Microsoft.FluentUI.AspNetCore.Components.DialogParameters`1 100%
Microsoft.FluentUI.AspNetCore.Components.DialogReference 36.3% 37.5%
Microsoft.FluentUI.AspNetCore.Components.DialogResult 0% 0%
Microsoft.FluentUI.AspNetCore.Components.DialogService 4.1% 2.6%
Microsoft.FluentUI.AspNetCore.Components.Emoji 0% 0%
Microsoft.FluentUI.AspNetCore.Components.EmojiCompress 0% 0%
Microsoft.FluentUI.AspNetCore.Components.EmojiExtensions 0% 0%
Microsoft.FluentUI.AspNetCore.Components.EmojiInfo 0%
Microsoft.FluentUI.AspNetCore.Components.Extensions.AdditionalAttributesExt
ensions
100% 100%
Microsoft.FluentUI.AspNetCore.Components.Extensions.BooleanExtensions 100% 100%
Microsoft.FluentUI.AspNetCore.Components.Extensions.DateTimeExtensions 81.2% 85%
Microsoft.FluentUI.AspNetCore.Components.Extensions.EnumExtensions 70.5% 59%
Microsoft.FluentUI.AspNetCore.Components.Extensions.FluentInputExtensions 28.5% 33.3%
Microsoft.FluentUI.AspNetCore.Components.Extensions.UrlFormatterExtensions 100% 75%
Microsoft.FluentUI.AspNetCore.Components.FluentAccessibilityStatus 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentAccordion 59.2% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentAccordionItem 83.7% 63.6%
Microsoft.FluentUI.AspNetCore.Components.FluentAnchor 90% 67.8%
Microsoft.FluentUI.AspNetCore.Components.FluentAnchoredRegion 87.7% 60%
Microsoft.FluentUI.AspNetCore.Components.FluentAppBar 64.6% 42.1%
Microsoft.FluentUI.AspNetCore.Components.FluentAppBarItem 80.5% 42.8%
Microsoft.FluentUI.AspNetCore.Components.FluentAutocomplete`1 85.7% 71.8%
Microsoft.FluentUI.AspNetCore.Components.FluentBadge 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentBodyContent 100%
Microsoft.FluentUI.AspNetCore.Components.FluentBreadcrumb 100%
Microsoft.FluentUI.AspNetCore.Components.FluentBreadcrumbItem 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentButton 84.3% 64.5%
Microsoft.FluentUI.AspNetCore.Components.FluentCalendar 83.4% 77.4%
Microsoft.FluentUI.AspNetCore.Components.FluentCalendarBase 94.1% 81.2%
Microsoft.FluentUI.AspNetCore.Components.FluentCalendarDay 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentCalendarMonth 92.3% 64.2%
Microsoft.FluentUI.AspNetCore.Components.FluentCalendarYear 84.6% 58.3%
Microsoft.FluentUI.AspNetCore.Components.FluentCard 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentCheckbox 91.1% 87%
Microsoft.FluentUI.AspNetCore.Components.FluentCollapsibleRegion 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentCombobox`1 69% 57.6%
Microsoft.FluentUI.AspNetCore.Components.FluentComponentBase 90.9% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentCounterBadge 92.3% 84.8%
Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid`1 55.5% 49.5%
Microsoft.FluentUI.AspNetCore.Components.FluentDataGridCell`1 80% 73.9%
Microsoft.FluentUI.AspNetCore.Components.FluentDataGridRow`1 56.2% 37.5%
Microsoft.FluentUI.AspNetCore.Components.FluentDatePicker 81.8% 53.7%
Microsoft.FluentUI.AspNetCore.Components.FluentDesignSystemProvider 100% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentDesignTheme 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentDialog 57.3% 60%
Microsoft.FluentUI.AspNetCore.Components.FluentDialogBody 100%
Microsoft.FluentUI.AspNetCore.Components.FluentDialogFooter 66.6% 44.1%
Microsoft.FluentUI.AspNetCore.Components.FluentDialogHeader 85.1% 75%
Microsoft.FluentUI.AspNetCore.Components.FluentDialogProvider 59.2% 57.1%
Microsoft.FluentUI.AspNetCore.Components.FluentDivider 86.9% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentDragContainer`1 71.4%
Microsoft.FluentUI.AspNetCore.Components.FluentDragEventArgs`1 0%
Microsoft.FluentUI.AspNetCore.Components.FluentDropZone`1 22.2% 4.3%
Microsoft.FluentUI.AspNetCore.Components.FluentEditForm 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentEmoji`1 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentFlipper 100%
Microsoft.FluentUI.AspNetCore.Components.FluentFooter 100%
Microsoft.FluentUI.AspNetCore.Components.FluentGrid 72.2% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentGridItem 87.5% 82.5%
Microsoft.FluentUI.AspNetCore.Components.FluentHeader 100%
Microsoft.FluentUI.AspNetCore.Components.FluentHighlighter 80% 20%
Microsoft.FluentUI.AspNetCore.Components.FluentHorizontalScroll 60.6% 20%
Microsoft.FluentUI.AspNetCore.Components.FluentIcon`1 88.3% 81.2%
Microsoft.FluentUI.AspNetCore.Components.FluentInputBase`1 72.5% 64.8%
Microsoft.FluentUI.AspNetCore.Components.FluentInputFile 90% 79.6%
Microsoft.FluentUI.AspNetCore.Components.FluentInputFileBuffer 100%
Microsoft.FluentUI.AspNetCore.Components.FluentInputFileEventArgs 92.3%
Microsoft.FluentUI.AspNetCore.Components.FluentInputLabel 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode 88.6% 90%
Microsoft.FluentUI.AspNetCore.Components.FluentKeyCodeEventArgs 100% 75%
Microsoft.FluentUI.AspNetCore.Components.FluentKeyCodeProvider 40% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentLabel 98% 88.8%
Microsoft.FluentUI.AspNetCore.Components.FluentLayout 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentListbox`1 94.4% 83.3%
Microsoft.FluentUI.AspNetCore.Components.FluentMain 100%
Microsoft.FluentUI.AspNetCore.Components.FluentMainLayout 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentMenu 60.4% 51.3%
Microsoft.FluentUI.AspNetCore.Components.FluentMenuButton 73.1% 25%
Microsoft.FluentUI.AspNetCore.Components.FluentMenuItem 74% 41.6%
Microsoft.FluentUI.AspNetCore.Components.FluentMenuProvider 95.2% 83.3%
Microsoft.FluentUI.AspNetCore.Components.FluentMessageBar 48.7% 23.9%
Microsoft.FluentUI.AspNetCore.Components.FluentMessageBarProvider 70.4% 59%
Microsoft.FluentUI.AspNetCore.Components.FluentMultiSplitter 81.7% 66.6%
Microsoft.FluentUI.AspNetCore.Components.FluentMultiSplitterEventArgs 100%
Microsoft.FluentUI.AspNetCore.Components.FluentMultiSplitterPane 97.1% 91%
Microsoft.FluentUI.AspNetCore.Components.FluentMultiSplitterResizeEventArgs 100%
Microsoft.FluentUI.AspNetCore.Components.FluentNavBase 55.1% 16.6%
Microsoft.FluentUI.AspNetCore.Components.FluentNavGroup 62.3% 35.4%
Microsoft.FluentUI.AspNetCore.Components.FluentNavLink 55.2% 40.6%
Microsoft.FluentUI.AspNetCore.Components.FluentNavMenu 61.1% 33.3%
Microsoft.FluentUI.AspNetCore.Components.FluentNavMenuGroup 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentNavMenuItemBase 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentNavMenuLink 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentNavMenuTree 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentNumberField`1 63.8% 55.1%
Microsoft.FluentUI.AspNetCore.Components.FluentOption`1 80% 61.5%
Microsoft.FluentUI.AspNetCore.Components.FluentOverflow 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentOverflowItem 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentOverlay 74% 62%
Microsoft.FluentUI.AspNetCore.Components.FluentPageScript 100%
Microsoft.FluentUI.AspNetCore.Components.FluentPaginator 68.5% 72.2%
Microsoft.FluentUI.AspNetCore.Components.FluentPersona 100% 78.1%
Microsoft.FluentUI.AspNetCore.Components.FluentPopover 79.1% 77.7%
Microsoft.FluentUI.AspNetCore.Components.FluentPresenceBadge 60.9% 29.1%
Microsoft.FluentUI.AspNetCore.Components.FluentProfileMenu 100% 100%
Microsoft.FluentUI.AspNetCore.Components.FluentProgress 81.2% 68.1%
Microsoft.FluentUI.AspNetCore.Components.FluentProgressRing 97.6% 92.8%
Microsoft.FluentUI.AspNetCore.Components.FluentPullToRefresh 94% 89.2%
Microsoft.FluentUI.AspNetCore.Components.FluentRadio`1 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentRadioContext 70% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentRadioGroup`1 78.5% 16.6%
Microsoft.FluentUI.AspNetCore.Components.FluentRating 78.4% 78.2%
Microsoft.FluentUI.AspNetCore.Components.FluentSearch 88.5% 83.3%
Microsoft.FluentUI.AspNetCore.Components.FluentSelect`1 96.4% 90%
Microsoft.FluentUI.AspNetCore.Components.FluentSkeleton 40.9% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentSlider`1 84.7% 68.4%
Microsoft.FluentUI.AspNetCore.Components.FluentSliderLabel`1 65.8% 33.3%
Microsoft.FluentUI.AspNetCore.Components.FluentSortableList`1 88.3% 67.8%
Microsoft.FluentUI.AspNetCore.Components.FluentSortableListEventArgs 83.3%
Microsoft.FluentUI.AspNetCore.Components.FluentSpacer 100% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentSplashScreen 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentSplitter 70.7% 40%
Microsoft.FluentUI.AspNetCore.Components.FluentStack 82.9% 33.3%
Microsoft.FluentUI.AspNetCore.Components.FluentSwitch 82.6% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentTab 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentTabs 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentTextArea 85%
Microsoft.FluentUI.AspNetCore.Components.FluentTextField 88.8% 60%
Microsoft.FluentUI.AspNetCore.Components.FluentTimePicker 83.3% 58.3%
Microsoft.FluentUI.AspNetCore.Components.FluentToast 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentToastProvider 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentToolbar 68.9% 50%
Microsoft.FluentUI.AspNetCore.Components.FluentTooltip 68.9% 72.7%
Microsoft.FluentUI.AspNetCore.Components.FluentTooltipProvider 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentTreeItem 89.4% 77.7%
Microsoft.FluentUI.AspNetCore.Components.FluentTreeView 79.7% 65.6%
Microsoft.FluentUI.AspNetCore.Components.FluentValidationMessage`1 0% 0%
Microsoft.FluentUI.AspNetCore.Components.FluentValidationSummary 100% 87.5%
Microsoft.FluentUI.AspNetCore.Components.FluentWizard 96% 86.8%
Microsoft.FluentUI.AspNetCore.Components.FluentWizardStep 95.8% 88.3%
Microsoft.FluentUI.AspNetCore.Components.FluentWizardStepArgs 100%
Microsoft.FluentUI.AspNetCore.Components.FluentWizardStepChangeEventArgs 100%
Microsoft.FluentUI.AspNetCore.Components.GlobalState 31.8% 50%
Microsoft.FluentUI.AspNetCore.Components.GridItemsProviderRequest`1 54.5% 20.8%
Microsoft.FluentUI.AspNetCore.Components.GridItemsProviderResult 100%
Microsoft.FluentUI.AspNetCore.Components.GridItemsProviderResult`1 100%
Microsoft.FluentUI.AspNetCore.Components.GridSort`1 35.1% 25.9%
Microsoft.FluentUI.AspNetCore.Components.HeaderFooterContent`1 100% 50%
Microsoft.FluentUI.AspNetCore.Components.HierarchicalGridItem`2 0% 0%
Microsoft.FluentUI.AspNetCore.Components.HierarchicalGridUtilities 0% 0%
Microsoft.FluentUI.AspNetCore.Components.HorizontalScrollEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.Icon 83.7% 91.1%
Microsoft.FluentUI.AspNetCore.Components.IconFromImage 100%
Microsoft.FluentUI.AspNetCore.Components.IconInfo 100%
Microsoft.FluentUI.AspNetCore.Components.IconsExtensions 0% 0%
Microsoft.FluentUI.AspNetCore.Components.Identifier 66.6% 62.5%
Microsoft.FluentUI.AspNetCore.Components.IdentifierContext 66.6% 41.6%
Microsoft.FluentUI.AspNetCore.Components.IDialogService 0%
Microsoft.FluentUI.AspNetCore.Components.INavMenuItemsOwner 0%
Microsoft.FluentUI.AspNetCore.Components.Infrastructure.EventCallbackSubscr
ibable`1
100% 100%
Microsoft.FluentUI.AspNetCore.Components.Infrastructure.EventCallbackSubscr
iber`1
100% 87.5%
Microsoft.FluentUI.AspNetCore.Components.InputHelpers`1 62.1% 48.6%
Microsoft.FluentUI.AspNetCore.Components.InternalAppBarContext 100% 100%
Microsoft.FluentUI.AspNetCore.Components.InternalDialogContext 80%
Microsoft.FluentUI.AspNetCore.Components.InternalListContext`1 80% 66.6%
Microsoft.FluentUI.AspNetCore.Components.InternalToastContext 0%
Microsoft.FluentUI.AspNetCore.Components.KeyCodeService 60.3% 28.5%
Microsoft.FluentUI.AspNetCore.Components.KeyDown 0% 0%
Microsoft.FluentUI.AspNetCore.Components.LibraryConfiguration 88.8% 50%
Microsoft.FluentUI.AspNetCore.Components.ListComponentBase`1 61.5% 62.5%
Microsoft.FluentUI.AspNetCore.Components.LoadedEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.LuminanceChangedEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.MenuChangeEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.MenuService 63.8% 0%
Microsoft.FluentUI.AspNetCore.Components.Message 51.6% 0%
Microsoft.FluentUI.AspNetCore.Components.MessageBox 50% 0%
Microsoft.FluentUI.AspNetCore.Components.MessageBoxContent 0%
Microsoft.FluentUI.AspNetCore.Components.MessageOptions 78.5%
Microsoft.FluentUI.AspNetCore.Components.MessageService 29.4% 26.9%
Microsoft.FluentUI.AspNetCore.Components.NavMenuActionArgs 0% 0%
Microsoft.FluentUI.AspNetCore.Components.OfficeColorUtilities 0%
Microsoft.FluentUI.AspNetCore.Components.Option`1 0%
Microsoft.FluentUI.AspNetCore.Components.OptionsSearchEventArgs`1 100%
Microsoft.FluentUI.AspNetCore.Components.OverflowItem 100%
Microsoft.FluentUI.AspNetCore.Components.PaginationState 63.6% 56.2%
Microsoft.FluentUI.AspNetCore.Components.ProgressFileDetails 100%
Microsoft.FluentUI.AspNetCore.Components.ProgressToast 0% 0%
Microsoft.FluentUI.AspNetCore.Components.ProgressToastContent 0%
Microsoft.FluentUI.AspNetCore.Components.PropertyColumn`2 92.5% 71.7%
Microsoft.FluentUI.AspNetCore.Components.RenderFragmentDialog 100%
Microsoft.FluentUI.AspNetCore.Components.Resources.TimeAgoResource 76.1% 100%
Microsoft.FluentUI.AspNetCore.Components.SelectAllTemplateArgs 100%
Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1 86.7% 82.6%
Microsoft.FluentUI.AspNetCore.Components.SelectDatesHoverEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.ServiceCollectionExtensions 59.2% 66.6%
Microsoft.FluentUI.AspNetCore.Components.SortedProperty 0%
Microsoft.FluentUI.AspNetCore.Components.SplashScreenContent 0% 0%
Microsoft.FluentUI.AspNetCore.Components.SplitterCollapsedEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.SplitterResizedEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.StandardLuminanceExtensions 0% 0%
Microsoft.FluentUI.AspNetCore.Components.TabChangeEventArgs 0%
Microsoft.FluentUI.AspNetCore.Components.TemplateColumn`1 83.3% 0%
Microsoft.FluentUI.AspNetCore.Components.TimeAgoOptions 100%
Microsoft.FluentUI.AspNetCore.Components.ToastInstance 0% 0%
Microsoft.FluentUI.AspNetCore.Components.ToastParameters 0%
Microsoft.FluentUI.AspNetCore.Components.ToastParameters`1 0%
Microsoft.FluentUI.AspNetCore.Components.ToastResult 0% 0%
Microsoft.FluentUI.AspNetCore.Components.ToastService 0% 0%
Microsoft.FluentUI.AspNetCore.Components.TreeChangeEventArgs 100%
Microsoft.FluentUI.AspNetCore.Components.TreeViewItem 100%
Microsoft.FluentUI.AspNetCore.Components.TreeViewItemExpandedEventArgs 100%
Microsoft.FluentUI.AspNetCore.Components.UploadedFileDetails 0%
Microsoft.FluentUI.AspNetCore.Components.Utilities.CssBuilder 100% 100%
Microsoft.FluentUI.AspNetCore.Components.Utilities.InlineStyleBuilder 96.4% 87.5%
Microsoft.FluentUI.AspNetCore.Components.Utilities.InternalDebounce.Debounc
eAction
52.3% 18.7%
Microsoft.FluentUI.AspNetCore.Components.Utilities.InternalDebounce.Debounc
eTask
0% 0%
Microsoft.FluentUI.AspNetCore.Components.Utilities.InternalDebounce.Dispatc
herTimerExtensions
82.9% 70%
Microsoft.FluentUI.AspNetCore.Components.Utilities.JSModule 0% 0%
Microsoft.FluentUI.AspNetCore.Components.Utilities.RangeOf`1 96.7% 94.4%
Microsoft.FluentUI.AspNetCore.Components.Utilities.Splitter 82.8% 81.8%
Microsoft.FluentUI.AspNetCore.Components.Utilities.StyleBuilder 100% 91.6%
Microsoft.FluentUI.AspNetCore.Components.ZIndex 100%
System.Text.RegularExpressions.Generated 76.4% 53.1%

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes DataGrid multi-selection behavior when paging/virtualizing so that SelectedItems isn’t pruned just because selected rows aren’t in the currently loaded slice of data (Fix #4596).

Changes:

  • Prevent SelectColumn from removing selected items when the grid is operating on a subset of the total dataset (pagination/virtualization scenario).
  • Add a regression test ensuring SelectedItems persists when navigating between pages and selecting additional rows.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/Core/DataGrid/FluentDataGridColumSelectTests.razor Adds a test verifying multi-select SelectedItems persists across pagination.
src/Core/Components/DataGrid/Columns/SelectColumn.cs Skips selection-pruning when Items represents only a slice of the total dataset.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@dvoituron
dvoituron enabled auto-merge (squash) March 15, 2026 12:48
@dvoituron
dvoituron merged commit e579260 into dev Mar 15, 2026
3 checks passed
@dvoituron
dvoituron deleted the users/vnbaaij/fix-issue-#4596 branch March 15, 2026 12:52
This was referenced Apr 22, 2026
dkurepa added a commit to dotnet/arcade-services that referenced this pull request Jul 15, 2026
…AspNetCore.Components.Icons (#6497)

Updated
[Microsoft.FluentUI.AspNetCore.Components](https://github.com/microsoft/fluentui-blazor)
from 4.14.0 to 4.14.2.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.FluentUI.AspNetCore.Components's
releases](https://github.com/microsoft/fluentui-blazor/releases)._

## 4.14.2

## What's Changed
* [Select] Fix selected items color by @​MarvinKlein1508 in
microsoft/fluentui-blazor#4760
* [DesignTheme] Tolerate blocked localStorage during startup by
@​Copilot in microsoft/fluentui-blazor#4857
* [Chore] Prep for release and update icons by @​vnbaaij in
microsoft/fluentui-blazor#4869


**Full Changelog**:
microsoft/fluentui-blazor@v4.14.1...v4.14.2

## 4.14.1

## What's Changed
* Merge changes from Main by @​vnbaaij in
microsoft/fluentui-blazor#4516
* [AppBar] Make OnClick close popover by @​vnbaaij in
microsoft/fluentui-blazor#4518
* [Docs] Update keycode docs to reflect latest interface by
@​MarvinKlein1508 in
microsoft/fluentui-blazor#4522
* Fix index.ts section causing "Illegal constructor" on older iOS
devices by @​GusPietrasanta-Polygon in
microsoft/fluentui-blazor#4531
* [Docs] Add note about render mode and required interactivity by
@​MarvinKlein1508 in
microsoft/fluentui-blazor#4540
* [Tabs] Call HandleOnTabChange when changing to a tab through the menu
by @​vnbaaij in microsoft/fluentui-blazor#4564
* [Popover] Allow tabbing inside open anchored regions, support keyboard
accessible navigation for popover by @​adamint in
microsoft/fluentui-blazor#4561
* [DataGrid] Add OnSortChanged event callback by @​vnbaaij in
microsoft/fluentui-blazor#4573
* [Templates] Fix 404 in WebAssembly temp by @​vnbaaij in
microsoft/fluentui-blazor#4578
* Bump minimatch from 3.1.2 to 3.1.5 in /src/Core.Assets by
@​dependabot[bot] in
microsoft/fluentui-blazor#4586
* fix: rename `dateselected` custom event to `fluentdateselected` to
resolve .NET 11 exception by @​Copilot in
microsoft/fluentui-blazor#4605
* fix: rename custom events matching browserEventName to use fluent
prefix by @​Copilot in
microsoft/fluentui-blazor#4609
* [General] Add accent-color in reboot.css by @​wherewhere in
microsoft/fluentui-blazor#4614
* [Dialog] Update docs by @​vnbaaij in
microsoft/fluentui-blazor#4625
* [DataGrid] Fix SelectedItems getting unselected when using pagination
(and virtualization) by @​vnbaaij in
microsoft/fluentui-blazor#4623
* Bump flatted from 3.3.1 to 3.4.2 in /src/Core.Assets by
@​dependabot[bot] in
microsoft/fluentui-blazor#4638
* [Docs] Fix incorrect Icon in search after Navigation by @​sebbogle in
microsoft/fluentui-blazor#4641
* [SplashScreen] Mark sync methods as Obsolete by @​MarvinKlein1508 in
microsoft/fluentui-blazor#4644
* Bump picomatch from 2.3.1 to 2.3.2 in /src/Core.Assets by
@​dependabot[bot] in
microsoft/fluentui-blazor#4646
* [NavGroup] Fix disabled state for top-level `FluentNavGroup` by
@​MarvinKlein1508 in
microsoft/fluentui-blazor#4647
* [NavGroup] Apply font opacity instead of color by @​MarvinKlein1508 in
microsoft/fluentui-blazor#4648
* Rollup PRs #​4677 and and #​4678 by @​vnbaaij in
microsoft/fluentui-blazor#4680

## New Contributors
* @​GusPietrasanta-Polygon made their first contribution in
microsoft/fluentui-blazor#4531
* @​sebbogle made their first contribution in
microsoft/fluentui-blazor#4641

**Full Changelog**:
microsoft/fluentui-blazor@v4.14.0...v4.14.1

Commits viewable in [compare
view](microsoft/fluentui-blazor@v4.14.0...v4.14.2).
</details>

Updated
[Microsoft.FluentUI.AspNetCore.Components.Icons](https://github.com/microsoft/fluentui-blazor)
from 4.14.2 to 4.14.3.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.FluentUI.AspNetCore.Components.Icons's
releases](https://github.com/microsoft/fluentui-blazor/releases)._

## 4.14.3

## What's Changed
* [Chore] Publish symbols from CI builds to internal symbol server by
@​tlmii in microsoft/fluentui-blazor#4910
* [Chore] Update dependencies in package.json by @​dvoituron in
microsoft/fluentui-blazor#4946
* [Docs] Update link to v5 docs by @​MarvinKlein1508 in
microsoft/fluentui-blazor#4927
* Update icons and prep for release by @​vnbaaij in
microsoft/fluentui-blazor#4958


**Full Changelog**:
microsoft/fluentui-blazor@v4.14.2...v4.14.3

Commits viewable in [compare
view](microsoft/fluentui-blazor@v4.14.2...v4.14.3).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Djuradj Kurepa <dkurepa@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: [bind-SelectedItems] in [FluentDataGrid] doesn't work as expected

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.