WPF集团数据网格(按年度和嵌套季度)

WPF集团数据网格(按年度和嵌套季度),wpf,xaml,datagrid,grouping,Wpf,Xaml,Datagrid,Grouping,我有一个OrderItems集合,它具有日期类型的OrderDate属性。现在我使用Datagrid组按日期对它们进行分组,但这并不是我想要的。我试图创建的是按OrderDate的年份创建第一个组,然后在这些组中按季度创建一个组。因此,结果会是: 2020年 Q1 Q2 Q3 第四季度 2019年 Q1 Q2 Q3 第四季度 2018年 Q1 Q2 Q3 Q4 等…将另一个属性添加到返回季度的OrderItem类中: public class OrderItem { public Dat

我有一个
OrderItems
集合,它具有日期类型的
OrderDate
属性。现在我使用Datagrid组按日期对它们进行分组,但这并不是我想要的。我试图创建的是按OrderDate的年份创建第一个组,然后在这些组中按季度创建一个组。因此,结果会是:

2020年
Q1
Q2
Q3
第四季度

2019年
Q1
Q2
Q3
第四季度

2018年
Q1
Q2
Q3
Q4

等…

将另一个属性添加到返回季度的
OrderItem
类中:

public class OrderItem
{
    public DateTime OrderDate { get; set; }

    public int OrderYear => OrderDate.Year;

    public string Quarter => $"Q{(OrderDate.Month + 2) / 3}";
}
和另一个
PropertyGroupDescription
CollectionView

view.GroupDescriptions.Add(new PropertyGroupDescription("OrderYear"));
view.GroupDescriptions.Add(new PropertyGroupDescription("OrderQuarter"));

如果出于某种原因您不想或不能扩展
OrderItem
类,那么现在是为您的域类型创建视图模型包装器并绑定到它们的时候了。换句话说,用一个
OrderItemViewModel
替换
OrderItem
,并将属性添加到新类中。

谢谢,你的方法非常有效,有时候就这么简单!我确实将您计算季度的方式更改为
DatePart(DateInterval.quarter,OrderDate)