Gets or sets the IValueConverter used to create the content shown in GroupRow cells to summarize group information.

Namespace:  C1.Silverlight.FlexGrid
Assembly:  C1.Silverlight.FlexGrid.4 (in C1.Silverlight.FlexGrid.4.dll)

Syntax

C#
public IValueConverter GroupHeaderConverter { get; set; }
Visual Basic
Public Property GroupHeaderConverter As IValueConverter
	Get
	Set

Remarks

By default, the grid creates group headers that show the name of the property being grouped on, the value of the property, and the number of items in the group.

You can modify or customize this information by defining your own group header converter class and assigning an instance of this class to the grid's GroupHeaderConverter property.

Examples

The example below shows the default group header converter class implementation.
Copy CodeC#
class GroupHeaderConverter : IValueConverter
{
  public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  {
    var gr = parameter as GroupRow;
    var group = gr.Group;
    if (group != null && gr != null && targetType == typeof(string))
    {
      var desc = gr.Grid.CollectionView.GroupDescriptions[gr.Level] as PropertyGroupDescription;
      return desc != null
        ? string.Format("{0}: {1} ({2:n0} item{3})", 
            desc.PropertyName, 
            group.Name, 
            group.ItemCount, 
            group.ItemCount == 1 ? string.Empty : "s")
        : string.Format("{0} ({1:n0} items)", group.Name, group.ItemCount);
    }

    // default
    return value;
  }
  public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  {
    return value;
  }
}

See Also