http://topic.csdn.net/u/20080321/15/bc1da921-af15-464e-b7f6-b6fd0c5ae4b4.html
道理 差不多吧
楼主可以试试。

解决方案 »

  1.   

    用数据源才行。
    将datagrid的数据源为BindingSource 对象,在保存数据的前,调用BindingSource的EndEdit()方法。
    同时datagrid也要EndEdit()
      

  2.   

    wuhongyao3 回答的和我问题无关,我现在问题怎么解决编辑完dataGrid,点保存就能保存,不用将鼠标先换一行,才能保存
    usxue 回答有些道理,不知怎么实现呢,谢谢!
      

  3.   

    换一行的目的应该是调用EndEdit()这个方法的
    不接受该方法好像保存是有困难的或者在点击保存的时候,调用该方法,让DataGrid中的DataGridCell全部走一遍EndEdit()
    行不?
      

  4.   

    调用提交修改,
    类似以下实现,
    确认
    this.BindingContext[dataSet,"Categories"].EndCurrentEdit();
    相对应的取消如下:
    this.BindingContext[dataSet,"Categories"].CancelCurrentEdit();
    这里有完成的代码,可以试一下,
    http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx