我在 Windows 窗体上有一个 XtraGrid 控件,绑定(bind)到一个对象集,如下所示:
clientListBindingSource.DataSource = ObjectContext.Clients;
其中 ObjectContext 是一个普通的 EF 上下文。要编辑客户端,我传递所选行的
Client
反对我的编辑表单,并按如下方式保存更改:var rows = mainView.GetSelectedRows();
var editClient = ((Client)mainView.GetRow(rows[0]));
var editForm = new ClientDetailForm
{
EditClient = editClient
};
var result = editForm.ShowDialog();
if (result == DialogResult.OK)
{
ObjectContext.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
clientGrid.RefreshDataSource();
}
我在编辑表单中所做的更改会保留在数据库中,但是我尝试了几种方法来尝试更新网格,并且它顽固地拒绝,直到我重新启动应用程序。我究竟做错了什么?
最佳答案
在进行如下更改后尝试重置您的数据源:
yourGrid.DataSource = null; // you might not need this, but it's my practice
yourGrid.DataSource = data_source;
关于winforms - XtraGrid 在更新其数据源后不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9732076/