检查datagridview是否被编辑过

问题描述:

我的C#winform有一个datagridview,当我点击更新按钮时,我应该输入什么代码来检查是否有任何单元格已被编辑?检查datagridview是否被编辑过

我只需要有一个真或假。

谢谢。

============================================== =============================

我的现有代码:

#region Edit Records 
     private void InProSysAdministrationEventsUpdateButton_Click(object sender, EventArgs e) 
     { 
      if (MessageBox.Show("Please Click Ok to Edit the Events", "Confirmation", MessageBoxButtons.OKCancel) == DialogResult.OK) 
      { 
       ManipulateData.UpdateData(connectionString, tblconn, tblscmd, tbldataadaptor, tbldatatable, cmbuilder, "usp_readallevents", readalleventsdataGridView); 
      } 
     } 
#endregion 

我需要做以下:

1)编辑用户点击

2)系统检查任何细胞是否已经编辑

3)如果没有编辑单元格,它会的MessageBox.show( “不可更改完成。”)

4)否则,它会更新数据库。

你看过DataGridView.CellValueChanged事件吗? MSDN

将是相当简单,只写了这样的处理程序,并设置标志,或执行任何你想要的动作。

的你会如何执行,这将是一个例子:

protected override void OnLoad(EventArgs e) 
    { 
     myDataGridView.CellValueChanged += new DataGridViewCellEventHandler(
     myDataGridView_CellValueChanged); 
    } 

    private void myDataGridView_CellValueChanged(
    object sender, DataGridViewCellEventArgs e) 
    { 
     //some very crude examples of actions you might want to perform when the event handler is triggered. 
     myObject.update(); 
     //or something else like 
     myObject.isUpdatable = true; 
    } 

至于点数3,一个MsgBox可能不是告知非关键事件的用户的最佳方式。他们很可能已经知道他们没有输入任何信息,并且您可以通过标记所需的信元或其他任何方式来提供这种反馈。食物的思想。

在未来,我建议搜索MSDN你正在使用的类,并搜索事件,方法或属性的您正在寻找的类型,并查看是否有匹配。 也有很多有用的例子。

int x=0;  
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) 
{ 
    x = 1; 
} 

if(x==1) //this means that gridView has been updated