我有两个班:Factor
和FactorItems
。我也有三个Windows:Win1
,Win2
,WinRead
。 Win1
包含一个名为grd1
的DataGrid; Win2
包含一个名为grdItems
的数据网格,而WinRead
包含一个名为grdRead
的数据网格。
Factor
上有一个来自FactorItems
的外键。
我使用了SaveChanges()
方法并将数据从Win2
grdItems
插入到两个表中。另外,我可以读取并显示Factor's
中的grd1
表记录,并且所有内容都是正确的。
现在,我想要在单击DataGridCellChanges
行(例如,使用grd1
)上的行(我使用Id == 50
)时,它应该加载WinRead
并显示所有{ {1}}的外键是FactorItems
grdRead上的Factor_Id 50
。
因素
WinRead_Load
FactorItems
public class Factor
{
public Factor()
{
this.BuyList = new List<FactorItems>();
}
public Int64 Id { get; set; }
public virtual ICollection<FactorItems> BuyList { get; set; }
}
Win1
public class FactorItems
{
public Int64 Id { get; set; }
public string ProductName `enter code here`{ get; set; }
public int NumberInBox { get; set; }
public decimal TotalNumber { get; set; }
public virtual Factor Factors{ get; set; }
}
WinRead
private void grd1_SelectedCellsChanged(objectsender,SelectedCellsChangedEventArgs e)
{
WinRead wread = new WinRead
if (grd1.SelectedItems.Count > 0)
{
wread.ShowDialog();
}
}
答案 0 :(得分:1)
Factor row = dataGridPrincipal.SelectedItem as Factor;
现在您将拥有选定的对象
WinRead wread = new WinRead
if (grd1.SelectedItems.Count > 0)
{
wread.grid.itemsource= ctx.Factor.BuyList.where(x=>x.Id==row.forignkey).Tolist()
wread.ShowDialog();
}
或
在WinRead
中创建道具并在其中保存外键,并且在加载事件中,您可以加载