我试图通过对我的数据进行两个级别的排列来绕过与 WPF Datagrids 相关的虚拟化问题。
每个国家/地区的行是标题行,单击标题行会显示该国家/地区的员工。
本质上,我试图将数据网格的每个元素都作为列表视图项。
这是我的疑问。任何帮助将不胜感激。
- 我希望 Country 行跨越所有列,使其看起来像标题行
- 单击标题行时,我不希望列标题出现在每个国家/地区下方
- 我希望国家特定数据行中的数据与主网格的列对齐。
如果有任何其他更好的方法来解决这个问题,请提供详细信息/参考。
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>