New to Telerik UI for WPFStart a free 30-day trial

Multiple-Column Grouping

Updated on Jul 17, 2026

On the snapshot you can see how the data in the RadGridView is grouped by two columns - the Country and the Title. The data is first grouped by the Country column and then the data in the separate groups is grouped again by the Title column.

Telerik UI for WPF RadGridView grouped first by Country and then by Title

The user can do it via the built-in grouping mechanism by dragging and dropping more than one column headers into the grouping area.

Telerik UI for WPF RadGridView dragging multiple column headers into the group panel

The data in the RadGridView will be grouped depending on the order the user drops the headers in the grouping area.

After adding several headers you are allowed to reorder them by dragging the rectangle representing the grouping criteria and dropping it at the desired position.

Telerik UI for WPF RadGridView reordering multiple grouping criteria in the group panel

It is also possible to group the data by multiple columns programmatically by using the GroupDescriptors collection of RadGridView. To learn more about it take a look at the Programmatic Grouping topic.

If you want to implement multi-column grouping you just have to define GroupDescriptor or ColumnGroupDescriptor objects for the desired grouping criteria and add them to the GroupDescriptors collection. It can be done at design time:

XAML
	<telerik:RadGridView x:Name="radGridView"
	                AutoGenerateColumns="False">
	    <telerik:RadGridView.GroupDescriptors>
	        <telerik:GroupDescriptor Member="Country"
	                            SortDirection="Ascending" />
	        <telerik:GroupDescriptor Member="Title"
	                            SortDirection="Ascending" />
	    </telerik:RadGridView.GroupDescriptors>
	</telerik:RadGridView>

This can be done at run time via managed code too:

C#
	GroupDescriptor countryDescriptor = new GroupDescriptor();
	countryDescriptor.Member = "Country";
	countryDescriptor.SortDirection = ListSortDirection.Ascending;
	this.radGridView.GroupDescriptors.Add(countryDescriptor);
	GroupDescriptor titleDescriptor = new GroupDescriptor();
	titleDescriptor.Member = "Title";
	titleDescriptor.SortDirection = ListSortDirection.Ascending;
	this.radGridView.GroupDescriptors.Add(titleDescriptor);

The result is the same as if the user has dragged and dropped the desired columns into the grouping area:

Telerik UI for WPF RadGridView showing the result of programmatic multi-column grouping by Country and Title

See Also

In this article
See Also
Not finding the help you need?
Contact Support