Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGrid:有一个稳定的/固定的行,用于一个";“集团”;项目数量_C#_Wpf_Wpfdatagrid - Fatal编程技术网

C# DataGrid:有一个稳定的/固定的行,用于一个";“集团”;项目数量

C# DataGrid:有一个稳定的/固定的行,用于一个";“集团”;项目数量,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我需要创建一个DataGrid,其中显示包括收入在内的客户列表。我有两个数据表(customer/income),我将它们合并到一个查询中,结果是customer/income项目的列表 我现在希望在一个表中显示所有客户,包括他们的收入,但不复制/显示每个收入行的每个客户。因此,我想隐藏客户的所有其他绘图,当它被绘制一次时 客户行应始终位于顶部。排序应该是可能的。换句话说,我正在寻找一种分组功能,而不需要分组 对于客户的列,不应出现如下情况: 另一个选项可以是分组,但我希望在分组元素中也有相

我需要创建一个DataGrid,其中显示包括收入在内的客户列表。我有两个数据表(customer/income),我将它们合并到一个查询中,结果是customer/income项目的列表

我现在希望在一个表中显示所有客户,包括他们的收入,但不复制/显示每个收入行的每个客户。因此,我想隐藏客户的所有其他绘图,当它被绘制一次时

客户行应始终位于顶部。排序应该是可能的。换句话说,我正在寻找一种分组功能,而不需要分组

对于客户的列,不应出现如下情况:

另一个选项可以是分组,但我希望在分组元素中也有相同的类似“列”的显示,并具有调整大小的行为


任何想法都是非常受欢迎的。

为此,您可以使用
DatagridRowTemplate

数据网格
中有两列,在
数据网格行模板
中有一个
列表框
显示单个客户的所有收入

您的XAML代码如下所示

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Customers}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Binding="{Binding CustomerName}" />
        <DataGridTextColumn Header="Birthday" Binding="{Binding CustomerDOB}" />
    </DataGrid.Columns>
    <DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <ListBox ItemsSource="{Binding Incomes}" />
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
</DataGrid>


假设您有一个名为
客户的
列表/observeCollection
。和
CustomerName
CustomerDOB
incoments
(客户收入列表)是客户类的属性名称。

您可以使用单独保存数据网格的模板替换收入列的单元格模板

XAML



请同时发布您的XAML代码。谢谢您的回复。我已经试过了,但我不希望收入在细节中,而是在主网格中。事实上,收入信息比这里显示的要大得多。为客户准备了大约20件物品。而且,在RowDetails中,我无法调整列的大小,而且我还需要RowDetails以获取其他信息。谢谢。我也尝试过这个,有一个网格中的网格解决方案。问题是DataGrid的行为非常怪异。关于这一点,有几个帖子。一个问题是鼠标weel不再正常工作,另一个问题是滚动条没有正确更新。
<DataGrid.Columns>
    <DataGridTextColumn Header="Customer" Binding="{Binding Customer}" >
    </DataGridTextColumn>
    <DataGridTextColumn Header="Birth Date" Binding="{Binding Date}" >
    </DataGridTextColumn>
    <DataGridTemplateColumn Header="Income" >
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <DataGrid ItemsSource="{Binding IncomeList}" 
                                  AutoGenerateColumns="False"
                                  HeadersVisibility="None"
                                  CanUserAddRows="False" 
                                  CanUserDeleteRows="False">
                    <DataGrid.Columns>
                        <DataGridTextColumn
                                      Width="*"
                                      IsReadOnly="True" 
                                      Binding="{Binding Path=.}">
                        </DataGridTextColumn>
                    </DataGrid.Columns>
                </DataGrid>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid.Columns>