我使用连接到数据库的实体实例作为数据源填充数据网格。
using (I2SEntities1 db = new I2SEntities1())
{
dgClients.DataSource = db.Clients.ToList<Client>();
}
此client
包含一个导航属性IColection。这是数据网格中名为Actions的隐藏列。
我想做的是用每个Actions
中的Client
填充另一个框架中的新网格。
我这样做是通过将ID
中的Client
传递到下一帧,在该帧上创建另一个Client
迭代到数据库并处理我的新实例{{ 1}},并在前一帧中粘贴了相同的Client
,然后使用其导航属性填充新网格。
ID
在Form2上。
if (dgClients.CurrentRow.Index != -1)
{
Client_Index = Convert.ToInt32(dgClients.CurrentRow.Cells["Client_ID"].Value);
}
Form2 actionsForm = new Form2();
actionsForm.ShowDialog();
这很好用,但是我在想,因为导航优先级已经在网格中,为什么不直接采用它呢?我的意思是这样。
void updateActions()
{
using (I2SEntities1 db = new I2SEntities1())
{
myClient = db.Clients.Where(x => x.Client_ID == Main.Client_Index).FirstOrDefault();
dgActions.DataSource = myClient.Actions.ToList<Action>();
}
}
不幸的是,这没有用。那有可能吗?