我有一表单控件如下: DataGridView1,BindSource1,
其中BindSource数据源是一个从后台取的DataTable,而DataGridView的数据源是BindSource1,
现在我在BindSource中新增了若干行,我想取消所做的新增操作应如何做呢? 用BindSource1.EndEdit()方法无效,无法取消新增的操作,只能回滚修改的记录行。

解决方案 »

  1.   

    这是回滚DataTableReject操作,但问题是,当前操作的是BindingSource,新增的行还没回写到DataTable中去呀(要在调用EndEdit()之后吧),另外,我也不想直接操作DataTable来回滚所在操作,
    因为我在客户端界面中操作的都是BindingSource呀,BindinSource难道没有一个回滚所有操作的方法?
      

  2.   

    如果只是取消当前操作,可以试试 CancelEdit() 方法。
      

  3.   

    是的,取消当前操作可以用CancelEdit,可现实中绑定一个表的应用是很普遍的呀如:入库单(主子表应用)
    ,表头用各种TextBox,Combox显示,子表用一个DataGridView(DataGridView.DataSource=BindingSource1)显示,那我在DataGridView中增加很多行记录,现在想
    undo用BindingSource真的不能做到吗?