我正在使用Entity Framework并坚持显示主表的详细记录。
我在表单上有MasterBindingSource
和DetailsBindingSource
以及两个DataGridView
。
我要做的是:填写与detailsGridView
上所选数据相关的masterGridView
。
有人可以指导我吗?
这就是我已经完成的工作,我可以填写masterGridview但是详细信息表没有填写与主人相关...
MasterTbBindingSource.DataSource = lobo.MasterTb.Include("DetailTb").ToList();
我错过了什么?感谢
更新
public partial class CONTACTS_BASE//Master
{
public CONTACTS_BASE()
{
this.ORDERS = new HashSet<ORDER>();
}
public int CB_REFNO { get; set; }
public string CB_NAME { get; set; }
public string CB_ID_NO { get; set; }
public string CB_AGE { get; set; }
public virtual ICollection<ORDER> ORDERS { get; set; }
}
public partial class ORDER //Detail
{
public int OR_REFNO { get; set; }
public string OR_PROD_CODE { get; set; }
public Nullable<int> OR_M_REFNO { get; set; }
public virtual CONTACTS_BASE CONTACTS_BASE { get; set; }
}
这就是我试图实现目标的原因:
using (var lobo = new MyEfTestEntities())
{
CONTACTS_BASEBindingSource.DataSource = lobo.CONTACTS_BASE.Include("ORDERS").ToList();
ORDERBindingSource.DataSource = CONTACTS_BASEBindingSource;
ORDERBindingSource.DataMember = "ORDERS";
}
答案 0 :(得分:2)
它与实体框架无关。自动主控 - 使用DataGridView
组件同步两个BindingSource
控件非常简单。您只需将主BindingSource
设置为详细信息DataSource
的{{1}},并使用详细信息BindingSource
的{{1}}来指定详细信息的名称集合。
这样的事情:
DataMember