C#与DataSet的Textbox数据绑定
本文关键字:Textbox 数据绑定 DataSet | 更新日期: 2023-09-27 18:06:40
我有一个TextBox
,我给了它DataBinding
,如下所示:
txtCompanyAddress.DataBindings.Add("Text", CompanyDetailsDataSet,
"CompanyDetails.CompanyAddress");
此外,我还在表单上添加了一个BindingManagerBase对象,如下所示:
protected BindingManagerBase BindingManager
{
get
{
return this.BindingContext[CompanyDetailsDataSet, "CompanyDetails"];
}
}
我的表格上有一个取消按钮,可以取消更改。当我更新txtCompanyAddress
中的值并点击cancel时,我调用BindingManager.CancelCurrentEdit();
,但文本框值不会更改为旧值。
这有数据绑定问题吗?
使用此设置,绑定不会自动刷新。当数据绑定更新时,您需要更改模式
txtCompanyAddress.DataBindings.Add("Text", CompanyDetailsDataSet,"CompanyDetails.CompanyAddress", true,DataSourceUpdateMode.OnPropertyChanged);
另外,您还没有发布CompanyDetailsDataSet
是什么,所以我假设它实现了IEditableObject
接口。否则,您将不得不自己进行操作,并确保在CancelEdit()
上缓存和检索旧值
textBox1.DataBinding.Add("Text",ds.Tables[0],"ColumnName")
其中ds
是数据集的对象,[0]
是数据集中的表数。如果过程返回多个表,则可以用双代码将表名写在0的位置。。。