通常のグループ化では指定した列の値が等しい行を同じグループに分類しますが、グループ化に使用する値を独自に変換することでグループ化をカスタマイズできます。グループ化に使用する値の変換方法を SpreadGroupDescription の Converter プロパティに設定します。
次のサンプルコードは「StockDate」列でグループ化します。日付の値を年を表す整数に変換する Converter を設定し、同じ年の行を同じグループに分類します。
C# |
コードのコピー |
---|---|
gcSpreadGrid1.GroupDescriptions.Add( new SpreadGroupDescription(){ ColumnName="StockDate", Converter = new DateTimeToHiredYearConverter()}); |
C# |
コードのコピー |
---|---|
public class DateTimeToHiredYearConverter:IValueConverter{ public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){ if (value == null) return value; DateTime d = (DateTime) value; return d.Year; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){ throw new NotImplementedException(); } } |
Visual Basic |
コードのコピー |
---|---|
GcSpreadGrid1.GroupDescriptions.Add New SpreadGroupDescription() With {.ColumnName = "StockDate", .Converter = New DateTimeToHiredYearConverter()} |
Visual Basic |
コードのコピー |
---|---|
Public Class DateTimeToHiredYearConverter Implements IValueConverter Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert If value Is Nothing Then Return value End If Dim d As DateTime = DirectCast(value, DateTime) Return d.Year End Function Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack Throw New NotImplementedException() End Function End Class |