Repository navigation
bug(aria-grid): ngGridCell fails with NG0201 (No provider found for GRID_ROW) when used inside cdk-table #32603
Description
Activity
- addedneeds triageThis issue needs to be triaged by the teamThis issue needs to be triaged by the team
on Dec 29, 2025 - addedP3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentAn issue that is relevant to core functions, but does not impede progress. Important, but not urgentand removedneeds triageThis issue needs to be triaged by the teamThis issue needs to be triaged by the team
on Jan 13, 2026 I spent a bit of time looking into it. The problem is that DI works based on where the element is declared and since in this case the cells are declared outside of the row, the resolution doesn't work. We could make it work for the column with some tweaks to the CDK table, but the row also looks for the items using
contentChildrenwhich would be harder.It seems that most of the aria components suffer from the same issue if you try to rewrap to customize, have the same exact issue with the
ngListbox/ngCombobox☹️ Per #33172 Grid directives will replace
contentChildrenwith revere registering/unregistering for binding between directives. However, this doesn't mean it will work seamlessly with the cdk-table as it was not designed to be used together. The cdk-table and ngGrid might end up overriding each others aria attributes.Aside from the repoted issue, I wonder what's the intention of using both together?
- addedneeds: clarificationThe issue does not contain enough information for the team to determine if it is a real bugThe issue does not contain enough information for the team to determine if it is a real bug
on May 18, 2026 angular-automatic-lock-bot commented
on Aug 2, 2026 More actionsThis issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.
- locked and limited conversation to collaborators
on Aug 2, 2026 - added a commit that references this issue
on Sep 23, 2026
Which @angular/* package(s) are the source of the bug?
Don't known / other
Is this a regression?
Yes
Description
When using the new @angular/aria/grid directives in combination with @angular/cdk/table, adding the ngGridCell directive to a th or td inside a cdkColumnDef results in a runtime error: NG0201: No provider found for InjectionToken GRID_ROW.
It seems that because cdk-table renders rows and cells using templates and portals, the DI tree is broken, and ngGridCell cannot find the parent ngGridRow directive, even though they are visually nested in the DOM.
Expected Behavior
The ngGridCell should be able to locate the GridRow provider when rendered within a cdk-table row, or the package should provide a mechanism to link them when standard DI fails due to template portaling.
Actual Behavior
The application crashes with: ERROR ɵNotFound: NG0201: No provider found for InjectionToken GRID_ROW. Source: Standalone[_App]
Please provide a link to a minimal reproduction of the bug
https://github.com/joldibaev/trade-trade3-ng/tree/table/src/app/components/table
Please provide the exception or error you saw
Please provide the environment you discovered this bug in (run
ng version)Anything else?
No response