【发布时间】:2017-03-04 21:07:25
【问题描述】:
这是来自How to display related data from dataset in wpf datagrid 的交叉帖子,我无法成功应用建议的答案。
我的情况与源中描述的情况相同:我在一个共享关系的数据集中有 2 个数据表(1 个带有发票,1 个带有指定发票的行),我还想在两个数据网格作为主从视图。
我已经研究了 CreateChildView 方法,但我在某处遗漏了一个关键点。我当前获取子视图的代码:
public DataView ChildView {
get {
return ParentChildRelation.ParentTable.DefaultView[0].CreateChildView("orders")
}
}
问题是双重的,首先我显然已经修复了索引,这意味着我总是得到父表第一行的子视图。其次,当在父视图中选择新行时,我在获取新子视图时失败了(ChildView 仅在初始化时被调用)。
我的 XAML:
<Grid>
<DataGrid
ItemsSource="{Binding Path=ParentView}"
AutoGenerateColumns="True"
Name="dataGrid1"
/>
<DataGrid
ItemsSource="{Binding Path=ChildView}"
AutoGenerateColumns="True"
Name="dataGrid2"
/>
</Grid>
我想将此作为 XAML 解决方案并避免编写事件处理程序来更新子视图。我已经尝试过使用 DataContext 但无济于事,关于如何将这种结构与数据集和关系结合使用的文档非常少(让我怀疑我是否走在正确的道路上)。
我缺少详细视图应该如何知道选择了哪个父级以及应该显示哪些项目的语义。
【问题讨论】:
标签: c# wpf xaml data-binding