WPF - xamDataGrid フィールドのソートとグループ化

エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)

エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)

XAMLプログラミング WPFアプリケーションの概要と開発

XAMLプログラミング WPFアプリケーションの概要と開発

フィールドのソートとグループ化

Window1.xaml.cs

private void button1_Click(object sender, RoutedEventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("ID");
    dt.Columns.Add("SEX");
    dt.Columns.Add("NAME");
    dt.Columns.Add("POINT",Type.GetType("System.Int32")); 

    dt.Rows.Add("1","M", "ken sasaki", "80");
    dt.Rows.Add("2","M", "izumi nakata", "50");
    dt.Rows.Add("3","M", "shin takagi", "100");
                    
    dt.Rows.Add("1","F", "shouko sato", "40");
    dt.Rows.Add("2","F", "izumi nakata", "100");
    dt.Rows.Add("3","F", "sino hirata", "90");
    xamDataGrid1.DataSource = dt.DefaultView;

    FieldSortDescription deptSort = new FieldSortDescription();
    deptSort.Direction = System.ComponentModel.ListSortDirection.Ascending;
    deptSort.FieldName = "SEX";
    deptSort.IsGroupBy = true;

    FieldSortDescription salarySort = new FieldSortDescription();
    salarySort.Direction = System.ComponentModel.ListSortDirection.Descending;
    salarySort.FieldName = "POINT";

    this.xamDataGrid1.FieldLayouts[0].SortedFields.Clear();
    this.xamDataGrid1.FieldLayouts[0].SortedFields.Add(deptSort);
    this.xamDataGrid1.FieldLayouts[0].SortedFields.Add(salarySort);
}