我在一个窗口中放了两个datagridview,在两个datagridview中分别修改数据,如果只修改其中一个datagridview中的数据,怎么样才能捕获到底是哪个datagridview的数据发生变化了呢

解决方案 »

  1.   

    用CellValueChanged事件,单元格的值更改时发生:
    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                //第几行:
                MessageBox.Show(e.RowIndex.ToString());
                //第几列:
                MessageBox.Show(e.ColumnIndex.ToString());
            }
      

  2.   

    private void dataGridView1_EditingControlShowing(object sender, 
                        DataGridViewEditingControlShowingEventArgs e)
    {
        ComboBox cb = e.Control as ComboBox;
      }
      

  3.   

    在你的程序定义一个当前活动datagridview 对象currDGV,当datagridview的焦点变化时就设置currDGV.
    这样,你只需要判断currDGV中存放的是哪个对象就知道修改谁了。
      

  4.   


    如果我修改完第一个,然后在去修改第二个,同时又想只更新第一个datagridview中的数据呢主窗口的this.validate方法是指整个窗口中任何一处改动就返回真吗
      

  5.   

    用两个Dataset,判断Dataset.haschanges试试。