2

我试图通过对我的数据进行两个级别的排列来绕过与 WPF Datagrids 相关的虚拟化问题。

每个国家/地区的行是标题行,单击标题行会显示该国家/地区的员工。

本质上,我试图将数据网格的每个元素都作为列表视图项。

这是我的疑问。任何帮助将不胜感激。

  1. 我希望 Country 行跨越所有列,使其看起来像标题行
  2. 单击标题行时,我不希望列标题出现在每个国家/地区下方
  3. 我希望国家特定数据行中的数据与主网格的列对齐。

如果有任何其他更好的方法来解决这个问题,请提供详细信息/参考。

在此处输入图像描述



    <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>
4

0 回答 0