我使用LINQ在C#中创建DataGridView。然后,当用户对其上的数据进行DoubleClick时,它将弹出表单以便编辑数据。我想要的是,在关闭弹出窗口后,DataGridView中的数据会自动刷新。
private void cooperationsDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
frmKoperasi frm = new frmKoperasi (cooperationsDataGridView.CurrentRow.Cells["id"].Value.ToString());
frm.FormClosed += delegate { refresh(sender,e); };
frm.Show();
}
private void refresh(object sender, EventArgs e)
{
this.listKoperasi_Load(sender, e);
}
private void listKoperasi_Load(object sender, EventArgs e)
{
page = page - 1;
var query = (from c in db_cooperations.cooperations
orderby c.id
select c).Skip(numberOfObjectsPerPage * page).Take(numberOfObjectsPerPage);
cooperationsBindingSource.DataSource = query;
}
但是在关闭编辑表单后,数据不会刷新。可能有什么不对?
答案 0 :(得分:0)
只需添加.ToList()
cooperationsBindingSource.DataSource = query.ToList();
答案 1 :(得分:0)
最后,我只是从头开始重写一切,然后向右走。不知道为什么会发生:D