我的Windows窗体应用程序有点问题。 两种形式:父表单 - 这里我有DataGridView,它显示了公司列表。从这里开始,我可以打开另一个表单CompanyForm,您可以在其中添加或编辑选定的公司。添加选项工作正常,但是当我编辑公司并想要放弃更改时,在父表单选定行上已更改,但我不保存对我的上下文的更改。有人可以帮帮我吗?
ParentForm:
private void CompaniesForm_Load(object sender, EventArgs e)
{
using (var connect = new ContactEntities())
{
companyBindingSource.DataSource = connect.Companies.ToList();
}
}
按钮编辑公司:
private void buttonEditCompany_Click(object sender, EventArgs e)
{
CompanyForm company = new CompanyForm();
company.MdiParent = this.MdiParent;
company.Company = (Company)companyBindingSource.Current;
company.Show();
}
CompanyForm:
public Company Company { get; set; }
private void CompanyForm_Load(object sender, EventArgs e)
{
using (var connect = new ContactEntities())
{
companyBindingSource.DataSource = Company;
}
}
正如你所看到的,我使用的是bindingsource,我不知道为什么网格会自动更新。
答案 0 :(得分:0)
编辑:回答错误的问题。谢谢@Reza Aghaei向我指出了这一点。
只是一个猜测,但如果您在绑定中使用Mode=TwoWay
,请尝试设置UpdateSourceTrigger=Explicit
并在保存更改时调用UpdateSource()
。