检查是否有任何单元格具有值更改DataGridview

时间:2015-05-28 16:17:06

标签: c# winforms datagridview

我尝试检查DataGridview (WinForms C#)中的任何单元格中的任何值是否已更改,然后再单击按钮更新代码。

为完成此任务,我创建了一个全局布尔变量gridCellChanged,并在true事件中将其设置为CurrentCellDirtyStateChanged

private void GvTieredPricing_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
   gridCellChanged = true;
}

在按钮事件中,我检查

private void btnUpdate_Click_1(object sender, EventArgs e)
{
  if (gridCellChanged)
  {
     //execute my code
  }
}

此解决方案大部分时间都有效。但是,如果用户更改了第1行第1列中的值,则gridCellChanged将设置为true。但是,当用户决定还原更改并将值设置为任何值时,gridCellChanged仍将设置为true,代码将在按钮事件中执行。

我该如何防止这种情况?

我尝试过使用CellValueChanged事件。但是,每次我在表单加载时加载网格时,它都会将我带到该事件,并始终将我的布尔变量设置为true,即使它没有对任何单元格进行任何更改。

有什么建议吗?

0 个答案:

没有答案