考虑以下代码:如何使用C#将文本框值更新为bindingsource?
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
为什么不能源进行更新?
考虑以下代码:如何使用C#将文本框值更新为bindingsource?
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
为什么不能源进行更新?
DataBinding通常不会写入值直到控件开始失去焦点后。由于您以编程方式更新TextBox,因此DataBinding不知道有什么要更新。
你写代码的方式,你就必须自己调用WriteValue()
方法(假设存在于文本框只有1绑定):
txtLastModifyUserID.DataBindings.Add("Text", c_bsDataSetSource, "LastModifyUserID");
txtLastModifyUserID.Text = "1234";
txtLastModifyUserID.DataBindings[0].WriteValue();
我假设你必须在DataSourceUpdateMode
上指定OnPropertyChanged
。
感谢,但它简化版,工作, 源不能被更新我也尝试改变DataSourceUpdateMode到onvalidation,然后调用DoValidate(),它也不起作用 – 2012-04-06 12:14:15
我认为你是几乎没有。只需将您的绑定更改为“值”而不是“文本”即可。当你以编程方式改变这一点时,只要数据源被更新,人眼就会捕获更新。也请指定DataSourceUpdateMode.OnPropertyChanged
。
谢谢你, 它的工作,谢谢,有帮助 – 2012-04-07 01:14:29
谢谢,它是为我工作 – 2017-05-30 06:50:43