代码之家  ›  专栏  ›  技术社区  ›  Mat

带保存按钮的WinForms数据绑定?

  •  5
  • Mat  · 技术社区  · 15 年前

    我不想更新数据,直到我按保存!

    我有两个表单(列表和详细信息),后面有一个 BindingList<T>

    数据绑定的设计是否支持这一点?这样做有共同的模式吗?

    不管我怎么看,绑定似乎都不能支持这种情况。我考虑了以下几点:

    • 实施 IEditableObject 打电话来 EndEdit on save几乎起作用,因为在按下save之前,我可以阻止通知列表所做的更改,但如果其他原因导致刷新,则列表将用临时数据更新。

    我现在只剩下在我的细节视图中省去数据绑定,而全部手动完成。这很烦人。

    2 回复  |  直到 15 年前
        1
  •  4
  •   Jon Seigel    15 年前

    即使克隆方法的前期工作稍微多一些,也不会比使用克隆方法复杂和令人沮丧 IEditableObject 试图捕获更新数据的所有可能事件。不仅如此,这是一个更直接的方法,你不会以意大利面条代码结束。

        2
  •  0
  •   Malgaur    15 年前

    http://msdn.microsoft.com/en-us/library/system.componentmodel.ibindinglist.aspx

    如果未设置为使用绑定列表,则最好根据控件的事件手动执行数据操作。

    祝你好运。