C# DataSet.HasChanges不适用于所选行(onClick MenuStrip)

C# DataSet.HasChanges不适用于所选行(onClick MenuStrip),c#,datagridview,dataset,menustrip,C#,Datagridview,Dataset,Menustrip,我有一个与MyDataSet绑定的datagridview 在表单加载时,我使用以下命令填充datagridview: MyTableAdapter.Fill(this.MyDataSet.ExtractData); 现在,我添加了一个菜单提示,我想在单击“文件/保存”时获得MyDataSet更改,但是如果我只更改了一行,而该行保持选中状态,则当我单击“文件/保存”时,检测不到任何更改,MyDataSet.HasChanges()始终返回false MyDataSet.HasChanges()

我有一个与MyDataSet绑定的datagridview

在表单加载时,我使用以下命令填充datagridview:

MyTableAdapter.Fill(this.MyDataSet.ExtractData);
现在,我添加了一个菜单提示,我想在单击“文件/保存”时获得MyDataSet更改,但是如果我只更改了一行,而该行保持选中状态,则当我单击“文件/保存”时,检测不到任何更改,
MyDataSet.HasChanges()
始终返回false

MyDataSet.HasChanges()
仅当我单击按钮或其他表单对象时返回true,而不是单击MenuStrip


为什么??有解决办法吗?(我尝试在Dgv上调用EndEdit并更新数据集,但不起作用…

在打开菜单之前使用此选项:

dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);

我找到的唯一方法是在检查
HasChanges
之前调用另一个对象.Focus(),然后将焦点重新设置为dgv。。。但这并不奇怪…我试着把这一行放在菜单的onClick事件中,但仍然不起作用。。。