3

考虑这段代码:

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

为什么不能更新源?

4

3 回答 3

11

DataBinding 通常在控件开始失去焦点之后才写入值。由于您正在以编程方式更新 TextBox,因此 DataBinding 不知道有什么要更新的。

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

txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
txtLastModifyUserID.DataBindings[0].WriteValue();
于 2012-04-06T13:17:08.093 回答
0

我想你快到了。只需将绑定更改为“值”而不是“文本”。当您以编程方式更改此设置时,只要更新数据源,人眼就会捕捉到更新。还要指定DataSourceUpdateMode.OnPropertyChanged.

于 2012-05-02T16:51:32.110 回答
0

我假设您必须指定OnPropertyChangedon DataSourceUpdateMode

于 2012-04-06T11:43:46.417 回答