【发布时间】:2012-10-15 14:03:11
【问题描述】:
我对 C# 中的 DataBindings 有疑问。
我有一个 BindingSource,它的 DataSource 设置为 DataRowView
然后我使用绑定源为我的控件设置所有数据绑定。
这是我的代码:
bsDataRecord.DataSource = myDataRow; //bsDataRecord is a BindingSource and myDataRow is a DataRowView
//Add Databinding to my controls
dateNextDate.DataBindings.Add("Value", bsDataRecord, "Next_Date", false, DataSourceUpdateMode.OnPropertyChanged); //DateTimePicker
textInformation.DataBindings.Add("Text", bsDataRecord, "Information", false); //TextBox
//more controls, etc
我的数据绑定一切正常。因此,当我选择控件并输入一个值时,myDataRow 就会更新。
当我尝试在代码中设置控件的值时出现问题,例如
textInformation.Text="Test";
当我这样做时,myDataRow 没有更新。我可以让 myDataRow 更新的唯一方法是提供我已更新焦点的控件。
希望这是有道理的!?有人有什么想法吗?
提前致谢。
我正在使用 c#.Net 4.0。
【问题讨论】:
-
为什么不反其道而行之?更新数据,控件应显示新值。
-
我确实尝试过,但即使在我保存并接受更改后,我的数据行的 RowState 也会更新为已修改
标签: c# data-binding