'DeclarationPublic Property SortComparer As IComparer
'UsageDim instance As DataGridGroupDescription Dim value As IComparer instance.SortComparer = value value = instance.SortComparer
public IComparer SortComparer {get; set;}
'DeclarationPublic Property SortComparer As IComparer
'UsageDim instance As DataGridGroupDescription Dim value As IComparer instance.SortComparer = value value = instance.SortComparer
public IComparer SortComparer {get; set;}
All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
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
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; } } }
<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>
.NET: net5.0, net5.0-windows, net6.0, net6.0-macos, net6.0-windows, net7.0, net7.0-macos, net7.0-windows, net8.0, net8.0-browser, net8.0-macos, net8.0-windows, net9.0, net9.0-browser, net9.0-macos, net9.0-windows, net10.0, net10.0-browser, net10.0-macos, net10.0-windows.
.NET Framework: net40, net403, net45, net451, net452, net46, net461, net462, net463, net47, net471, net472, net48, net481.