考虑以下代码:
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
为什么不能更新来源?
答案 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
。