BindingSource.EndEdit()不会将值写入数据源

时间:2011-09-20 12:58:11

标签: c# winforms data-binding

我曾希望EndEdit()方法接受所有绑定并将控制值值写回数据源。令人惊讶的是,它并不总是有效。有时,值不会写回数据源。

当我想确保控件将数据写回数据源时,我唯一的选择是获取每个控件的数据绑定并调用WriteValue()吗?

还有其他想法或想法吗?

更新

我绑定到一个对象。 我有一个文本框,我处理TextChanged事件。在这个处理程序中,我调用EndEdit()。 当我绑定到数据源时,会调用TextChanged事件来触发EndEdit()。如果我然后输入文本框,对EndEdit()的FIRST调用无效。之后它似乎有效。 注意:如果在数据绑定到TextBox之后我没有TextChanged处理程序,我可以使用它。似乎第一个EndEdit调用(在绑定期间)似乎有不好的效果。

1 个答案:

答案 0 :(得分:0)

EndEdit()仅在绑定源处于编辑状态时有效,通常通过进入控制或开始实际编辑来触发。