Gets or sets the data comparer that will be used to sort the groups in a grid.
Syntax
| Visual Basic (Declaration) | |
|---|
Public Property SortComparer As IComparer |
Return Value
The
Comparer that will be used to sort the groups in a grid. Can be a null reference (
Nothing in Visual Basic).
Example
All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
This example demonstrates how to create a custom group description by deriving from the DataGridGroupDescription class and overriding the GroupNameFromItem method. The custom group description will group items according to the first letter in the value received as a parameter.
| Visual Basic | Copy Code |
|---|
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Xceed.Wpf.DataGrid
Imports System.Collections
Imports System.Globalization;
Namespace Xceed.Wpf.Documentation
Public Class AlphabeticalGroupDescription
Inherits DataGridGroupDescription
Public Sub New()
MyBase.New()
End Sub
Public Sub New(ByVal propertyName As String)
MyBase.New(propertyName)
End Sub
Public Overrides Function GroupNameFromItem(ByVal item As Object, _
ByVal level As Integer, _
ByVal culture As CultureInfo) As Object
Dim value As Object = MyBase.GroupNameFromItem(item, level, culture)
Try
Dim content As String = Convert.ToString(value)
value = content.ToUpper().Substring(0, 1)
Catch e1 As InvalidCastException
End Try
Return value
End Function
End Class
End Namespace |
This example demonstrates how to create a custom group description by deriving from the DataGridGroupDescription class and overriding the GroupNameFromItem method. The custom group description will group items according to the first letter in the value received as a parameter.
| C# | Copy Code |
|---|
using System; using System.Collections.Generic; using System.Text; using
Xceed.Wpf.DataGrid; using System.Collections;
namespace Xceed.Wpf.Documentation
{
public class AlphabeticalGroupDescription : DataGridGroupDescription
{
public AlphabeticalGroupDescription()
: base()
{
}
public AlphabeticalGroupDescription( string
propertyName )
: base( propertyName )
{
}
public override object GroupNameFromItem( object item, int level,
System.Globalization.CultureInfo
culture )
{
object value = base.GroupNameFromItem( item, level, culture );
try
{
string content = Convert.ToString( value );
value = content.ToUpper().Substring( 0, 1 );
}
catch( InvalidCastException )
{
}
return value;
}
}
} |
The following code demonstrates how to use the custom group description by adding it to the DataGridCollectionViewSource's GroupDescriptions property.
| XAML | Copy Code |
|---|
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" xmlns:local="clr-namespace:Xceed.Wpf.Documentation"> <Grid.Resources> <local:ConsonantVowelComparer x:Key="consonantVowelComparer"/> <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" Source="{Binding Source={x:Static Application.Current}, Path=Orders}"> <xcdg:DataGridCollectionViewSource.GroupDescriptions> <local:AlphabeticalGroupDescription PropertyName="ShipCountry" SortComparer="{StaticResource consonantVowelComparer}"/> </xcdg:DataGridCollectionViewSource.GroupDescriptions> </xcdg:DataGridCollectionViewSource> </Grid.Resources> <xcdg:DataGridControl x:Name="OrdersGrid" ItemsSource="{Binding Source={StaticResource cvs_orders}}"/> </Grid> |
Remarks
Requirements
Supported Frameworks: Microsoft .NET Framework version 3.5
See Also