SPREAD for WPF 4.0J - GcSpreadGrid
グループ化のカスタマイズ
MESCIUS SPREAD for WPF 4.0J > 開発者ガイド > グループ集計 > グループ化のカスタマイズ

通常のグループ化では指定した列の値が等しい行を同じグループに分類しますが、グループ化に使用する値を独自に変換することでグループ化をカスタマイズできます。グループ化に使用する値の変換方法を SpreadGroupDescription の Converter プロパティに設定します。

サンプルコード

次のサンプルコードは「StockDate」列でグループ化します。日付の値を年を表す整数に変換する Converter を設定し、同じ年の行を同じグループに分類します。

C#
コードのコピー
gcSpreadGrid1.GroupDescriptions.Add( new SpreadGroupDescription(){ ColumnName="StockDate", Converter = new DateTimeToHiredYearConverter()});
DateTimeToHiredYearConverter クラス(C#)
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()}
DateTimeToHiredYearConverter クラス(Visual Basic)
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
関連トピック