如何检测出datagridview中的单元格,用户曾经修改过,退出窗体时提示保存呢?
----------------------------------------
关键是如何检测出,用户曾经修改过datagridview,用什么方式来实现呢?只要能检测出,存在修改过的单元格,就在窗体上给出一个提示文本,比如:
您已经修改了数据,请不要忘记保存可是,我如何能检测出单元格曾经被修改过呢?

解决方案 »

  1.   

    datagridview   是由数据集给的。.  你把数据集保存起来 (dataset) 当他进行别的操作时, 你用datagridview   和数据集进行一行一行比较。 有一个不一样的就停止循环提示您已经修改了数据,请不要忘记保存
      

  2.   

    定义一个全局变量,bool isValueChanged = false; 在 CellValueChanged 事件中,设置 isValueChanged = true;这样,你在执行其他操作时候,可以根据 if(isValueChanged){}进行判断。
      

  3.   

    你在CellValueChanged 事件中,需要判断 newValue 是否 与 cell.oldvalue相等
      

  4.   


    能给个示例吗?如何比较新值与旧值呢?
    以下代码不行的呀:        //单元格变化,则设定isValueChange标志
            private void dataGrid1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                isValueChange = true;
            }
      

  5.   

    private void datagridview _CurrentCellDirtyStateChanged(object sender, EventArgs e)  
    {  
    if(datagridview .IsCurrentCellDirty)  
    datagridview .CommitEdit(DataGridViewDataErrorContexts.Commit);  
    }