C#2005 winform 
datagridview的数据不是绑定上去的
当焦点离开某行时,能否得知该行是否改变过?
如果必变过我需要操作数据库进行更新我在网上搜索一下,全都是绑定的
不绑定的datagridview有没有办法知道呢?

解决方案 »

  1.   

      this.dataGridView1.SelectionChanged += new EventHandler(dataGridView1_SelectionChanged); 
       void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
            {
               bool weatherChange =  this.dataGridView1.CommitEdit(DataGridViewDataErrorContexts.CurrentCellChange);
            }   
      

  2.   

     this.dataGridView1.CurrentCellChanged += new EventHandler(dataGridView1_CurrentCellChanged); 
       void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
            {
                bool weatherChange = this.dataGridView1.CommitEdit(DataGridViewDataErrorContexts.CurrentCellChange);
            }汗...上面事件错了,用CurrentCellChanged 更准确
      

  3.   

    to netusemaster
    回家试你的方法to taiyangyu119 
    手工连的数据库
      

  4.   

    to netusemaster 
    我想要的是离开行时,而不是离开单元格。
      

  5.   

    一样道理,行都离开了,cell 肯定离开了.
    下班回家.BYe
      

  6.   

    离开CELL时如果改变做记号.
    如果发现离开CELL 的同时 也离开ROW
    再更新嘛总之是在CurrentCellChanged  上面写code
      

  7.   

    to all
    这里有两个问题
    1 离开了一个单元格并不一定修改过该单元格,比如说我鼠标仅仅点了一下该单元格然后再点其他的单元格
    2 离开了一个单元格并不一定是离开了该行,比如说我鼠标点了该行的其他单元格而我想实现的功能是离开该行时判断该行有没有修改过,即是否有某个单元格有修改,不需要知道哪个单元格,只要知道有改过就行
    不知道有没有这个的事件或者方法
      

  8.   

    to redwrite :
    其实是一样的道理,如果单元格有修改,行就肯定有修改!
    注意是CurrentCellChanged事件,所以你说的"比如说我鼠标仅仅点了一下该单元格然后再点其他的单元格"是不会这个事件的!
      

  9.   

    to zzjml168a
    我刚才测了一下,会触发这个事件的CurrentCellChanged
    我现在用这个事件做的CellEndEdit