把你的修改记录Temp文件中,根据记录就可以实现了。当然撤消的次数是有限的(Office也是这样的),不然temp文件太大。

解决方案 »

  1.   

    用myDataSet.RejectChanges();这句话后,再用鼠标点击DataGrid后,说"索引超出数组范围".为什么.如可能,请写一段详细的代码。谢谢.
      

  2.   

    "索引超出数组范围"是DataGrid的一个小问题,比如原来有3行数据,而且你选中的是第三行,你myDataSet.RejectChanges()以后就会出现这个问题你可以在myDataSet.RejectChanges()以前设定不选定行,即 SelectIndex=-1
      

  3.   


    "索引超出数组范围"是DataGrid的一个小问题,比如原来有3行数据,而且你选中的是第三行,你myDataSet.RejectChanges()以后只剩下一行或2行就会出现这个问题你可以在myDataSet.RejectChanges()以前设定不选定行,即 SelectIndex=-1
      

  4.   

    rollback然后,重新绑定DataGrid行不行
      

  5.   

    //增加
    this.BindingContext[this.dataset1,"table1"].AddNew()
    //删除
    this.BindingContext[this.dataset1,"table1"].Remove()
    //确认
    this.BindingContext[this.dataset1,"table1"].EndCurrentEdit()
    //取消
    this.BindingContext[this.dataset1,"table1"].CancelCurrentEdit()
      

  6.   

    在取消完毕之后,当点击]DataGrid后,还会出现"索引超出范围"的错误。现在的问题是:怎么在取消状态后,点击dataGrid不会出现错误提示。
    this.BindingContext[this.dataset1,"table1"].CancelCurrentEdit()

    dataSet11.RejectChanges();
    都不好使。但回滚事务没有试过。