BindingSource:如何取消对当前项的更改

时间:2014-05-05 22:09:37

标签: winforms entity-framework c#-4.0 bindingsource

我收到了从repository_DohvatiSveZapise获得的项目列表:

      using Entities entities = new Entities())
        {
            return entities.Zapis.ToList();
        }

和我用作数据源的列表

      this.zapisBindingSource.DataSource = baza.DohvatiSveZapise();

对象" Zapis"有一些字符串属性绑定到文本框。当用户更改某些文本框中的值时,他可以选择保存或放弃更改。我试过这个放弃

  zapisBindingSource.CancelEdit();

但是当前项目(由用户修改的bindingsource.Current)仍然修改了值。如何撤消对绑定源中当前项所做的所有更改?

1 个答案:

答案 0 :(得分:0)

没有自动管理来取消自定义对象的修改。

BindingSource.CancelEdit MSDN页面:

  

此方法会丢弃自上次保存或加载以来对数据的修改   如果满足以下两个条件,则进行操作:

     
      
  • 数据源   实现IEditableObject接口。

  •   
  • EndEdit方法没有   被召唤了。

  •   

因此,您需要在实现IEditableObject接口时编写自己的取消逻辑。