如何使用C#将文本框值更新为bindingsource?

时间:2012-04-06 11:41:12

标签: c# winforms textbox bindingsource

考虑以下代码:

txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";

为什么不能更新来源?

3 个答案:

答案 0 :(得分:11)

在控件开始失去焦点之前,DataBinding通常不会该值。由于您以编程方式更新TextBox,因此DataBinding不知道有更新内容。

您编写代码的方式,您必须自己调用WriteValue()方法(假设TextBox上只存在1个数据绑定):

txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
txtLastModifyUserID.DataBindings[0].WriteValue();

答案 1 :(得分:0)

我假设您必须在OnPropertyChanged上指定DataSourceUpdateMode

答案 2 :(得分:0)

我想你差不多了。只需将绑定更改为“值”而不是“文本”。当您以编程方式更改此项时,只要数据源更新,人眼就应该捕获更新。同时指定DataSourceUpdateMode.OnPropertyChanged