两个实体在一个dataGridView中
问题描述:
我有两个关联的实体。我通过拖放对象数据源和手动绑定到列表来创建一个dataGridView。一切正常工作与一个实体。有没有可能通过拖放+手动填充来创建一个包含两个实体(Zamow和ZamSkany)的dataGridView?我可以通过查看(在SQL方面)做到这一点,但在同样的情况下,我想有其他的可能性。两个实体在一个dataGridView中
pg = new PGEntities();
BindingList<Zamow> myList;
var query = (from zam in pg.Zamow where zam.Rok == 2012 select zam).Take(100);
MyList = new BindingList<Zamow>(query.ToList());
zamowBindingSource.DataSource = MyList;
答
是,尝试创建Class
,让说ViewZamowAndSamSkany
public class ViewZamowAndSamSkany
{
public string Data { get; set; }
public string Proforma { get; set; }
//and Others Properties
}
现在,重建项目,并从Objects Data Source
的ViewZamowAndSamSkany
然后拖放添加到您的Form
作为一个DataGridView
,你可以申请linq-entites inner join
var query = (from zam in pg.Zamow
join skany in zam.NUMBER equals skany.NUMBER
where zam.Rok == 2012
select new ViewZamowAndSamSkany
{
Data = zam.Data,
Proforma = zam.Proforma
}).Take(100);
MyList = new BindingList<ViewZamowAndSamSkany>(query.ToList());
zamowBindingSource.DataSource = MyList;
非常感谢!它像一个魅力。 – mds 2013-02-13 07:31:47
不客气':D' – spajce 2013-02-13 07:35:55