我有一个 DataGrid(来自工具包),我想在 DataGrid.RowDetailsTemplate 中嵌套另一个 DataGrid。诀窍是我想从主网格中的一个表中取回数据,然后根据行选择从另一个表中获取附加详细信息,并将其显示在详细信息模板的 DataGrid 中。
这很容易在 2 个单独的 DataGrids 中完成,但我无法让它与嵌套版本一起使用。
这甚至可能吗?如果是这样,有人可以指出我正确的方向。我应该注意我正在使用 LinqToSql 类来填充数据。
感谢您的考虑。-乔尔
我有一个 DataGrid(来自工具包),我想在 DataGrid.RowDetailsTemplate 中嵌套另一个 DataGrid。诀窍是我想从主网格中的一个表中取回数据,然后根据行选择从另一个表中获取附加详细信息,并将其显示在详细信息模板的 DataGrid 中。
这很容易在 2 个单独的 DataGrids 中完成,但我无法让它与嵌套版本一起使用。
这甚至可能吗?如果是这样,有人可以指出我正确的方向。我应该注意我正在使用 LinqToSql 类来填充数据。
感谢您的考虑。-乔尔
如果您使用的是 LinqToSQL,您可以使用关联轻松完成此操作。在我的实践中,我创建了两个表:
盖伊表
GuyActions表
我创建了一个从 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>