首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTO和bindingsource

DTO和bindingsource
EN

Stack Overflow用户
提问于 2014-11-10 20:22:52
回答 1查看 458关注 0票数 0

我有一个DTO类,在我的WinForms客户机中,我正在为它创建一个数据源。在表单设计中,我将bindingsource绑定到此数据源,以便自动绑定所有控件。

在代码中,我执行以下操作将bindingsource绑定到一个空对象:

代码语言:javascript
复制
public void Clear()
{
    var dto = new MyDTO();
    bindingSource.DataSource = dto;
}

要从db中获取项目并显示它,请执行以下操作:

代码语言:javascript
复制
public void Load(int id)
{
    var dto = dtoRequest.Get(id);
    bindingSource.DataSource = dto;
}

但是,我想知道在设置数据源之后,数据是否发生了变化。我需要在我的DTO类中实现INotifyPropertyChanged吗?因为如果是这样的话,它就会违背DTO的初衷。

还有其他的解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2014-11-10 22:11:35

我的开发就像你一样,在侧视图中使用DTO。我从未使用过INotifyPropertyChanged。如果您想知道数据何时发生了更改,则必须只使用BindingSource的事件或DTO中的build属性。

此外,请参阅我对这篇文章回答

How to set values in cells of row in DatagridView when I change field value?

这个著名的问题

Implementing INotifyPropertyChanged - does a better way exist?

我希望我已经给你指路了。如果你有任何问题,请在这里问我。

请记住,这在很大程度上取决于我们如何构建开发的“框架”。

有了这个策略,我已经完成了我所有的工作,这并不意味着使用INotifyPropertyChanged是一个坏主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26843747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档