0

我会使用 LINQ 在 C# 中制作 DataGridView。然后,当用户双击它上面的数据时,它会弹出编辑数据的表格。我想要的是,在我关闭弹出窗口后,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;           
    }

但是在我关闭编辑表单后,数据并没有刷新。有什么问题?

4

2 回答 2

0

最后,我只是从头开始重写所有内容,并且一切顺利。不知道为什么会这样:D

于 2013-01-23T14:50:03.873 回答
0

只需添加.ToList()

cooperationsBindingSource.DataSource = query.ToList();
于 2013-01-21T19:43:11.470 回答