我正在尝试显示我的 EF 查询结果(它有一个 group by 子句)并将其显示到 DataGrid 中。我正在尝试复制此处的示例
http://wpftutorial.net/DataGrid.html
所以这是我的 XAML 代码
<DataGrid ItemsSource="{Binding QueryResult}">
<DataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Name}" />
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander>
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=ItemCount}"/>
<TextBlock Text="Items"/>
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</DataGrid.GroupStyle>
</DataGrid>
这是我的视图模型
internal void GenerateReport()
{
Data = Project.GetReport(); **// this is List<IGrouping<string, MyType>>**
//QueryResult is a ListCollectionView property
QueryResult= new ListCollectionView(Data);
QueryResult.GroupDescriptions.Add(new PropertyGroupDescription("train"));
}
这就是我的查询结果
我确实得到了正确的密钥,但如果你查看我的代码,我有一个针对密钥项的集合。此处未显示。我如何让它在每列火车上显示?
编辑
我想我对此有更多的细节。这是我的 QueryResult 集合的样子
基本上我的 QueryResult 有 10 个项目,其中每个项目都有一个名称、项目和 ItemsCounts。每个项目本身有 1 个项目,其中有一个键和组。该组基本上包含我想在我的 DataGrid 中显示的项目,这些项目根据出现的父 10 条记录分组。