WPF Datagrid分组,显示自动生成的列

时间:2017-06-11 05:57:42

标签: wpf wpfdatagrid

我正在研究一个绑定到以下类

的集合的wpf数据网格
public class SalesData
{
    public string SalesManName{ get; set; }
    public int salesCount{ get; set; }
    public string Area { get; set; }
    public datetime salesdate{get;set;}            
    public int avgSales{ get; set; }
}

点击我的UI中的按钮,我正在执行以下操作

CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(Datagrid.ItemsSource);
view.SortDescriptions.Add(new SortDescription("SalesCount", ListSortDirection.Descending));

PropertyGroupDescription groupDescription = new PropertyGroupDescription("SalesManName");

PropertyGroupDescription groupDescription2 = new PropertyGroupDescription("salesdate");

现在,如果基本上发生了什么,它会在datagrid中给我以下结果

SalesManName | SalesCount | Area   | SalesDate  
AAA          | 2          | London | 05/06/2017 
AAA          | 1          | London | 05/07/2017 
AAA          | 1          | London | 05/08/2017 
AAA          | 2          | London | 05/09/2017 
BBB          | 2          | London | 05/06/2017 
BBB          | 2          | London | 05/07/2017 
BBB          | 2          | London | 05/09/2017 

我想拥有的是

SalesManName | 05/06/2017  | 05/07/2017  | 05/08/2017  | 05/09/2017 
AAA          | 2           |     1       |     1       |   2
BBB          | 2           |     2       |     0       |   2

1 个答案:

答案 0 :(得分:0)

我很久以前做过同样的事情。不幸的是,我无法回想起帮助我的帖子。这个想法包括使用DataTable作为ItemsSource的{​​{1}}和转换器来构建数据表。 的的Xaml

DataGrid

<DataGrid GridLinesVisibility="None" ItemsSource="{Binding AllItems, Converter={StaticResource SalesDataConverter}, Mode=OneWay}" IsReadOnly="True" /> 是[{1}}

AllItems

<强>转换器

ObservableCollection