我有一个文本框绑定(单向)到一个数据表,每秒更新一次。 因此,文本框值不断反映数据表中的更改。 当我输入文本框以手动设置值时,绑定会导致值不断被覆盖。我怎么阻止这个? 当我输入一个值(文本框失去焦点)时,我希望文本框返回以显示绑定值,而不是我刚刚手动输入的值。
答案 0 :(得分:2)
我有同样的问题,我通过
解决使用BindingNavigator,我将其设置为null
bdNavProduct.BindingSource = null;
使用其他文本框控件datagridview,我清除了DataBinding
txtProductID.DataBindings.Clear();
txtProductName.DataBindings.Clear();
txtQuantity.DataBindings.Clear();
txtUnitPrice.DataBindings.Clear();
dgvProduct.DataBindings.Clear();
贝
答案 1 :(得分:1)
您可以附加到文本输入事件并取消绑定,然后在丢失的焦点事件上重新应用它。
我认为你需要考虑为什么要在文本框中显示你的绑定值?如果不可编辑的Textblock显示您的数据库信息,并且可编辑的文本框与可选的用户输入分开,是不是更合适。
虽然你所提出的问题是可行的,但是我提到的文本框事件似乎从用户的角度来看会让人感到困惑。