On a grid grouped by a field (using GroupDescriptors) where the amount of records exceed the page limit, therefore generating multiple pages, provide an option to keep the collapsed/expanded states of the groups when navigating through the pages.
In-house we implemented the following approach to mitigate this issue: when calling OnRead event, after processing the data (order, filter, group, etc) we're mapping the groups and subgroups to its corresponding indexes. When page changing, we then store the current state of the groups, alongside its keys (aka the label of the group). After page changing and mapping the groups and subgroups again, we just match the group names stored in this temporary state with the group names of the new page and restore the state.
For example: start with all groups initially collapsed, page 1 has groupA and groupB and user expanded groupB, changed to page 2, which has the remaining records of groupB and groupC. In this case it will restore groupB as expanded while groupC keeps collapsed.
Example to demonstrate the issue: https://blazorrepl.telerik.com/melmEeFi43owNZBe50