【发布时间】:2014-06-11 19:50:26
【问题描述】:
我有一个winform,它的控件绑定到一个名为MemberBS 的绑定源,该绑定源绑定到一个名为DomainModel.Member 的自定义对象。成员对象绑定到一个名为 members 的 sql server 数据库中的表。
在表单上的控件中,我有 4 个文本框,它们的绑定如下。
DuesOwingCE.DataBindings.Add("Text", MemberBS, "DuesOwing", true, DataSourceUpdateMode.OnPropertyChanged);
InitOwingCE.DataBindings.Add("Text", MemberBS, "InitOwing", true, DataSourceUpdateMode.OnPropertyChanged);
OtherOwingCE.DataBindings.Add("Text", MemberBS, "OtherOwing", true, DataSourceUpdateMode.OnPropertyChanged);
AmountOwingCE.DataBindings.Add("Text", MemberBS, "AmountOwing", true, DataSourceUpdateMode.OnPropertyChanged);
用户点击按钮进入交易。我将当前正在编辑的成员的成员对象传递给对话框。用户为成员输入交易,然后单击保存。 Save 按钮调用一个名为CalculateOwing 的方法。该方法重新计算会员的会费、启动、其他和欠款总额,保存会员对象,然后将保存的数据提交到底层数据源。
交易表单关闭,用户返回会员表单。现在我如何让文本框更新,以便显示新的余额。我已经尝试过 MemberBS.ResetBindings(false) 但这不起作用。
是从数据源重新加载对象的唯一解决方案
MemberBS.DataSource = Repository.GetMember(socSecNo);
还是有更好的?
【问题讨论】:
标签: c# winforms data-binding