Unplanned
Last Updated: 13 Mar 2026 07:42 by ADMIN
Humayoon
Created on: 04 Apr 2023 14:14
Category: Grid
Type: Feature Request
17
Blazor Grid Grouping Expand/Collapse All Command

Hi,

I would like to have a Expand/Collapse All Grid Groups button in the Grid Header. I know this is possible to do so programmatically outside of the grid but my users want it inside the Grid. 

Thanks,

Humayoon

4 comments
ADMIN
Dimo
Posted on: 13 Mar 2026 07:42

Hi all,

Indeed, currently the described UX can be implemented through the Grid State and the SetStateAsync() method.

Here are two important notes:

  • The current workaround requires LoadGroupsOnDemand to be false (which is by default).
  • When implemented, this feature may still not work if LoadGroupsOnDemand is true, because the Grid will have to make as many simultaneous requests as the number of groups. If this is not a problem, then the other option is to make this feature dependent on another one, which adds the load-on-demand grouping to the Grid state: Expand groups programmatically when LoadGroupsOnDemand is enabled.

Regards,
Dimo
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Lee
Posted on: 11 Mar 2026 21:04
@Matt dude that's so cool you were able to figure that out. Telerik you should definitely implement.
Matt
Posted on: 11 Mar 2026 15:44

We'd love this feature more widely supported than the manual way to do this now. We've just created this UI for it, but we have tons of grids, going to be a huge time sink to support all grids.

 

Mac
Posted on: 21 Jan 2025 20:23

using version 6.2
I have a button. If my items are already grouped, I can do the following: 
```

private async Task ExpandCollapse()
{
_isExpanded = !_isExpanded;
var state = _grid.GetState();

if (_isExpanded)
{
state.CollapsedGroups = null;
state.ExpandedItems = _alerts;
}
else
{
state.CollapsedGroups = Enumerable.Range(0, _items.ToList().Count).ToList();
}

await _grid.SetStateAsync(state);

}