RadzenDataGrid grouping broken for structs after upgrading to version 6 #1614

Closed
opened 2026-01-29 17:56:14 +00:00 by claunia · 0 comments
Owner

Originally created by @iNenadnano on GitHub (Feb 14, 2025).

I have upgraded to version 6.0.3 and after upgrading RadzenDataGrid grouping in not working when group property is a struct. I have been grouping by an int and Guid properties without any issue in older version, but not any more.

To reproduce, modify the code in the grouping example to group by the EmployeeID.

void OnRender(DataGridRenderEventArgs<Employee> args)
{
    if(args.FirstRender)
    {
        args.Grid.Groups.Add(new GroupDescriptor(){ Property = "EmployeeID", SortOrder = SortOrder.Descending });
        StateHasChanged();
    }
}

The error as seen in the browser console on the example page:

Unhandled exception rendering component: Expression of type 'System.Int32' cannot be used for return type 'System.Object'
System.ArgumentException: Expression of type 'System.Int32' cannot be used for return type 'System.Object'
   at System.Linq.Expressions.Expression.ValidateLambdaArgs(Type delegateType, Expression& body, ReadOnlyCollection`1 parameters, String paramName)
   at System.Linq.Expressions.Expression.Lambda[Func`2](Expression body, String name, Boolean tailCall, IEnumerable`1 parameters)
   at System.Linq.Expressions.Expression.Lambda[Func`2](Expression body, Boolean tailCall, IEnumerable`1 parameters)
   at System.Linq.Expressions.Expression.Lambda[Func`2](Expression body, ParameterExpression[] parameters)
   at Radzen.QueryableExtension.<>c__DisplayClass3_0`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<GroupByMany>b__0(String p)
   at System.Linq.Enumerable.ArraySelectIterator`2[[System.String, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Func`2[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at System.Linq.Enumerable.<ToArray>g__EnumerableToArray|301_0[Func`2](IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[Func`2](IEnumerable`1 source)
   at Radzen.QueryableExtension.GroupByMany[Employee](IQueryable`1 source, String[] properties)
   at Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].get_GroupedPagedView()
   at Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].DrawGroupOrDataRows(RenderTreeBuilder builder, IList`1 visibleColumns)
   at Radzen.Blazor.RadzenDataGrid`1.<>c__DisplayClass22_0[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<DrawRows>b__0(RenderTreeBuilder builder)
   at Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32 sequence, RenderFragment fragment)
   at Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<BuildRenderTree>b__680_0(RenderTreeBuilder __builder2)
   at Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32 sequence, RenderFragment fragment)
   at Microsoft.AspNetCore.Components.CascadingValue`1[[Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Radzen.Blazor, Version=6.0.2.0, Culture=neutral, PublicKeyToken=null]].Render(RenderTreeBuilder builder)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
Originally created by @iNenadnano on GitHub (Feb 14, 2025). I have upgraded to version `6.0.3` and after upgrading `RadzenDataGrid` grouping in not working when group property is a `struct`. I have been grouping by an `int` and `Guid` properties without any issue in older version, but not any more. To reproduce, modify the code in the [grouping example](https://blazor.radzen.com/datagrid-grouping-api?theme=material3) to group by the `EmployeeID`. ``` void OnRender(DataGridRenderEventArgs<Employee> args) { if(args.FirstRender) { args.Grid.Groups.Add(new GroupDescriptor(){ Property = "EmployeeID", SortOrder = SortOrder.Descending }); StateHasChanged(); } } ``` The error as seen in the browser console on the example page: ``` Unhandled exception rendering component: Expression of type 'System.Int32' cannot be used for return type 'System.Object' System.ArgumentException: Expression of type 'System.Int32' cannot be used for return type 'System.Object' at System.Linq.Expressions.Expression.ValidateLambdaArgs(Type delegateType, Expression& body, ReadOnlyCollection`1 parameters, String paramName) at System.Linq.Expressions.Expression.Lambda[Func`2](Expression body, String name, Boolean tailCall, IEnumerable`1 parameters) at System.Linq.Expressions.Expression.Lambda[Func`2](Expression body, Boolean tailCall, IEnumerable`1 parameters) at System.Linq.Expressions.Expression.Lambda[Func`2](Expression body, ParameterExpression[] parameters) at Radzen.QueryableExtension.<>c__DisplayClass3_0`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<GroupByMany>b__0(String p) at System.Linq.Enumerable.ArraySelectIterator`2[[System.String, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Func`2[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext() at System.Linq.Enumerable.<ToArray>g__EnumerableToArray|301_0[Func`2](IEnumerable`1 source) at System.Linq.Enumerable.ToArray[Func`2](IEnumerable`1 source) at Radzen.QueryableExtension.GroupByMany[Employee](IQueryable`1 source, String[] properties) at Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].get_GroupedPagedView() at Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].DrawGroupOrDataRows(RenderTreeBuilder builder, IList`1 visibleColumns) at Radzen.Blazor.RadzenDataGrid`1.<>c__DisplayClass22_0[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<DrawRows>b__0(RenderTreeBuilder builder) at Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32 sequence, RenderFragment fragment) at Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<BuildRenderTree>b__680_0(RenderTreeBuilder __builder2) at Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32 sequence, RenderFragment fragment) at Microsoft.AspNetCore.Components.CascadingValue`1[[Radzen.Blazor.RadzenDataGrid`1[[RadzenBlazorDemos.Models.Northwind.Employee, RadzenBlazorDemos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Radzen.Blazor, Version=6.0.2.0, Culture=neutral, PublicKeyToken=null]].Render(RenderTreeBuilder builder) at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException) ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/radzen-blazor#1614