考虑这段代码:
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
为什么不能更新源?
考虑这段代码:
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
为什么不能更新源?
DataBinding 通常在控件开始失去焦点之后才写入值。由于您正在以编程方式更新 TextBox,因此 DataBinding 不知道有什么要更新的。
按照您编写代码的方式,您必须自己调用该WriteValue()
方法(假设 TextBox 上仅存在 1 个数据绑定):
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
txtLastModifyUserID.DataBindings[0].WriteValue();
我想你快到了。只需将绑定更改为“值”而不是“文本”。当您以编程方式更改此设置时,只要更新数据源,人眼就会捕捉到更新。还要指定DataSourceUpdateMode.OnPropertyChanged
.
我假设您必须指定OnPropertyChanged
on DataSourceUpdateMode
。