我使用实体框架( Entity )并继续显示主表的详细记录。
我在表单上有一个MasterBindingSource和DetailsBindingSource,还有两个DataGridView。
我要做的是:填充与masterGridView上选定的数据相关的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";
}发布于 2017-07-31 08:55:24
它与实体框架无关。自动主细节同步两个DataGridView控件与BindingSource组件是相当容易的。您只需将主BindingSource设置为详细信息BindingSource的DataSource,并使用详细信息BindingSource的DataMember来指定详细集合的名称。
就像这样:
MasterTbBindingSource.DataSource = lobo.MasterTb.Include("DetailTb").ToList();
DetailsBindingSource.DataSource = MasterTbBindingSource;
DetailsBindingSource.DataMember = "DetailTb"; https://stackoverflow.com/questions/45410707
复制相似问题