GroupFooterRowStyleSelector
The GroupFooterRowStyleSelector property of RadGridView can be used to style group footer rows differently based on a specific condition.
ear in mind that the GroupFooterRowStyle takes precedence over the GroupFooterRowStyleSelector and will overwrite it if both are defined simultaneously.
To do so, first create a new class that inherits the StyleSelector class and override its SelectStyle method:
Example 1: The GroupFooterRowStyleSelector class
public class GroupFooterRowStyleSelector : StyleSelector
{
public override Style SelectStyle(object item, DependencyObject container)
{
var group = item as QueryableCollectionViewGroup;
if (group != null)
{
if (group.ItemCount > 1)
{
return BigGroupStyle;
}
else
{
return SmallGroupStyle;
}
}
return null;
}
public Style BigGroupStyle { get; set; }
public Style SmallGroupStyle { get; set; }
}In the XAML file, define the style selector as a resource and set the properties of the BigGroupStyle and SmallGroupStyle:
Example 2: Setting the BigGroupStyle and SmallGroupStyle
<Grid.Resources>
<my:GroupFooterRowStyleSelector x:Key="StadiumCapacityStyleSelector">
<my:GroupFooterRowStyleSelector.BigGroupStyle>
<Style TargetType="telerik:GridViewGroupFooterRow">
<Setter Property="Background" Value="Red"/>
</Style>
</my:GroupFooterRowStyleSelector.BigGroupStyle>
<my:GroupFooterRowStyleSelector.SmallGroupStyle>
<Style TargetType="telerik:GridViewGroupFooterRow">
<Setter Property="Background" Value="Yellow" />
</Style>
</my:GroupFooterRowStyleSelector.SmallGroupStyle>
</my:GroupFooterRowStyleSelector>
</Grid.Resources>
The "my:" prefix before GroupFooterRowStyleSelector specifies the mapping for the namespace of the project: xmlns:my="..."
Finally, set the GroupFooterRowStyleSelector property:
Example 3: Setting the GroupFooterRowStyleSelector property
<telerik:RadGridView GroupFooterRowStyleSelector="{StaticResource GroupFooterRowStyleSelector}" />
And here is the final result:
Figure 1: The group footer rows styled using the GroupFooterRowStyleSelector property
