嵌套的WPF DataGrids

时间:2009-05-15 22:59:03

标签: wpf xaml wpftoolkit

我有一个DataGrid(来自工具包),我想在DataGrid.RowDetailsTemplate中嵌套另一个DataGrid。诀窍是我想从主网格中的一个表中恢复数据,然后根据行选择去获取另一个表中的附加细节,并在详细模板的DataGrid中显示它。

这很容易在2个单独的DataGrids中完成,但我无法使用嵌套版本。

这甚至可能吗? 如果是这样,有人会指出我正确的方向。 我应该注意到我使用LinqToSql clases来填充数据。

感谢您的考虑。 -Joel

1 个答案:

答案 0 :(得分:5)

如果您使用的是LinqToSQL,则可以使用关联轻松完成此操作。在我的实践中,我创建了两个表:

GuyTable

  • 名字
  • 姓氏
  • 的UniqueID

GuyActionsTable

  • 的UniqueID
  • GuyID
  • 行动说明

我创建了一个从GuyTable.UniqueID到GuyActionsTable.GuyID的一对多关系,称为“GuyActions”

然后我像这样绑定我的DataGrid。请原谅我正在做的任何错误:

<w:DataGrid ItemsSource={Binding Source={StaticResource YourDataSource}}>
<w:DataGrid.RowDetailsTemplate>
    <DataTemplate>
        <w:DataGrid ItemsSource={Binding GuyActions}>
            <w:DataGrid.Columns>
                <w:DataGridTextColumn Header="Action" DisplayMemberBinding="{Binding Action_Description}" />
            </w:DataGrid.Columns>
        </w:DataGrid>
    </DataTemplate>
</w:DataGrid.RowDetailsTemplate>
<w:DataGrid.Columns>
    <w:DataGridTextColumn Header="First Name" DisplayMemberBinding="{Binding First_Name}" />
    <w:DataGridTextColumn Header="Last Name" DisplayMemberBinding="{Binding Last_Name}" />
</w:DataGrid.Columns>