FluentDataGrid: pinned column offsets leak into the grid of an open RowDetails (master-detail)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- csharp, javascript
Research direction
Start in Components/DataGrid/FluentDataGrid.razor.js at UpdatePinnedColumnOffsets and reproduce a FluentDataGrid with pinned columns and nested RowDetails grid. Scope the header and body cell selection to the current table, then verify that master offsets remain correct and nested header cells no longer overlap or receive the wrong inset.
Written by the indexing model from the issue text.
Description
Setup: a FluentDataGrid with pinned columns (Pin="DataGridColumnPin.Start" / End) and RowDetails whose content is
another FluentDataGrid that also has pinned columns (master-detail).
Actual: once a detail is open, the pinned cells of the master grid are shifted by their own width (start column moved right,
end column moved left), and header cells of the nested grid overlap.
Cause: UpdatePinnedColumnOffsets (Components/DataGrid/FluentDataGrid.razor.js) uses
gridElement.querySelectorAll("th[col-pinned='start']") / 'end', which also returns the pinned headers of the nested grid, then
applyOffset writes the offset on every [col-index="N"] cell of the subtree — master and nested cells share col-index values.
The unpinned cells of the nested grid that share a col-index also receive inset-inline-* (visible on the sticky header row).
Suggested fix: only consider the grid's own header row and rows, e.g. gridElement.tHead.rows[0].cells and the cells of
gridElement.tHead.rows / gridElement.tBodies[n].rows instead of a subtree query.
(Workaround in our app: a MutationObserver that recomputes the offsets per table.)
Environment: Microsoft.FluentUI.AspNetCore.Components 5.0.0 / Microsoft.FluentUI.AspNetCore.McpServer 5.0.0, Blazor Server, net9.0, Chrome, Windows 11. Found while migrating an application from 4.14.4 to 5.0.0.
- Dominant language
- C#
- Stars
- 4.8k
- Forks
- 483
- Avg merge
- 15h 36m
- Merged PRs (30d)
- 77
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/fluentui-blazor
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/fluentui-blazor#5364 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
microsoft/fluentui-blazor#5365 ·
Maintainers usually reply within 1 day
-
[v5] FluentDatePicker year navigation stops before MinDate and changes after switching calendar viewsPossibly taken @dvoituron claimed this 10 days ago. Openstatus:needs-investigation v5
microsoft/fluentui-blazor#5311 · 1 assignee ·
Maintainers usually reply within 1 day
-
bug v5
Difficulty 3/5 1-2 days Newbie friendliness 68/100
microsoft/fluentui-blazor#5281 · 1 comment ·
Maintainers usually reply within 1 day
-
feature v5
Difficulty 5/5 Over a week Newbie friendliness 35/100
microsoft/fluentui-blazor#5277 · 5 comments ·
Maintainers usually reply within 1 day
All issues in microsoft/fluentui-blazor
Similar issues
-
[Simple] NavigationBar primary commands do not render AppBarButton.Content when it is a UIElementOpencontrol/navigationbar kind/bug triage/untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
unoplatform/uno.toolkit.ui#1652 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
microsoft/copilot-camp#1053 ·
Maintainers usually reply within 1 day
-
bug effort:S P3
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
nightscout/nocturne#1861 ·
Maintainers usually reply within 1 day
-
agentic-workflows area/Docs partner/agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
.NET triage
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
microsoft/agent-framework#8811 ·
Maintainers usually reply within 1 day