[v8] grouped row selection/deselection is not working properly 聽#4349
Description
Describe the bug
When using the getGroupedRowModel, some of the selection behvaior seems to be off:
a) when using table.getToggleAllRowsSelectedHandler(), all rows get selected, but none of the grouped.
b) after manually selecting all groups (or when using table.getToggleAllPageRowsSelectedHandler()), when all rows are deselected, the groups remain selected.
c) when manually selecting all groups and rows, and then deselecting one row of a grouped row, then the group itself remains selected, but the table.getIsAllRowsSelected() checkbox gets deselected.
Your minimal, reproducible example
https://codesandbox.io/s/react-table-8-5-11-grouped-issue-xghfs0?file=/src/main.tsx
Steps to reproduce
a) click select all checkbox
b)
- select all groups manually
- click select all checkbox
c)
- select all groups manually
- de-select 1 row in a group (not a grouped row)
Expected behavior
a) Toggle all selected row should toggle all selected rows
b) Toggling all rows should remove all selected columns
c) De-selecting one row in a selected group should put all selected rows to intermediate and the group into intermediate
How often does this bug happen?
Every time
Screenshots or Videos
Platform
-OS: MacOS 12.5.1
-Browser: Firefox, Chrome, Safari
react-table version
v8.5.11
TypeScript version
No response
Additional context
Probably related to:
- [v8] When multi row selection is disabled and sub rows are used sometimes a wrong row is selected 聽#4299
- [v8] Row selection with sub rows has parent propagation issues聽#4298
- Row/SubRow selection not working as expected聽#3465
Terms & Code of Conduct
- I agree to follow this project's Code of Conduct
- I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.




Activity
ludydoo commentedon Feb 16, 2023
A workaround I found for this is to
info.table.toggleAllRowsExpanded()alexbezhan commentedon Apr 19, 2023
My workaround:
toggleAllRowsSelectedHandler()that uses expanded row modelgetIsAllRowsSelected()that uses expanded row modellattemisa commentedon Aug 15, 2023
Hello, I am still facing this issue, was this ever resolved?
KevinVandy commentedon Jul 27, 2026
Group-row selection IDs are independent by design. Descendant checkbox state is meant to be set via getIsAllSubRowsSelected/getIsSomeSelected