我有一个数据集的两个表,一个简单的一对多的父子关系回事。 例如;
Parent Table
ParentId (int)
Name (string)
Child Table
ChildId (int)
ParentId (int)
Name (string)
在这一集我已经得到了家长和孩子的父母id字段之间建立的关系(ParentChildRelation)。 如果我做程式设计一个Parent.getChildRows()调用我看到正确的相关子记录,所以我知道的关系是很好的。
我需要显示与母行的列表中的数据网格,并有另一个单独的DataGrid选定父显示的子记录列表。
到目前为止,我的窗口,在后面的代码我有
private DataSet _parentChildDataSet;
public DataSet ParentChildDataSet
{
get
{
return _parentChildDataSet;
}
set
{
_parentChildDataSet = value;
}
public DataView ParentView
{
get
{
return this.ParentChildDataSet.Tables["Parent"].DefaultView;
}
}
public DataRelation ParentChildRelation
{
get
{
return this.ParentChildDataSet.Relations["Parent_Child"] ;
}
}
我还设置为窗口,以自己在窗户的构造如DataContext的;
this.DataContext = this;
在我的XAML
<Grid>
<DataGrid ItemsSource="{Binding Path=ParentView}" AutoGenerateColumns="True" Name="dataGrid1">
</DataGrid>
<DataGrid ItemsSource="{Binding Path=ParentChildRelation}" Name="dataGrid2" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Name}" Header="Name" />
</DataGrid.Columns>
</DataGrid>
</Grid>
但是我不能让任何一个孩子记录dataGrid2露面。
我在此网格结合的DataRelation名称是否正确呢?
如果我绑定到我的窗口,另一个属性;
public DataView ChildrenView
{
get
{
return this.ParentChildDataSet.Tables["Child"].DefaultView;
}
}
然后,我看到所有的记录,而不管父的你所期望的。
感谢您的任何指针谁能给我。