Bindingsource不会暂停绑定
我有一个显示自定义详细信息的表单,其中一个部分是与客户关联的银行帐户列表。 这个列表绑定到它自己的绑定源,所以在加载客户时我做:
bsCustomer.DataSource = customer; bsCustomerAccounts.DataSource = customer.Accounts;
我有一个绑定到bsCustomerAccounts
的ObjectListView 。 到目前为止一切正常。
要编辑特定帐户,我双击它并打开一个单独的表单:
using (var form = new CustomerAccountForm(selectedAccount)) { DialogResult result = form.ShowDialog(this); if (result == DialogResult.OK) { selectedAccount= form.Account; } }
问题是当用户单击Cancel
以取消此表单中的帐户编辑时。 原始的bcCustomerAccounts
以及列表仍在更新中。
我已经尝试过SuspendBinding
和RaiseListChangedEvents = false
但绑定源仍在更新中。
我错过了什么吗?
一开始看起来真的很令人惊讶,你认为当你没有将编辑过的对象分配回列表时,为什么要编辑列表项?
关键点在于:类是引用类型 。
您将所选帐户传递给编辑表单,因为它是一个类,类是引用类型,实际上您正在编辑列表中的同一个实例。 因此,在编辑属性时,无论单击“确定”还是“取消”,所有编辑都将直接应用于对象。
上述就是C#学习教程:Bindingsource不会暂停绑定分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1021734.html