C#文本框数据与数据集绑定
我有一个C#文本框数据与数据集绑定,c#,winforms,data-binding,C#,Winforms,Data Binding,我有一个文本框,我给了它一个数据绑定,如下所示: txtCompanyAddress.DataBindings.Add("Text", CompanyDetailsDataSet, "CompanyDetails.CompanyAddress"); 我还在表单上添加了BindingManagerBase对象,如下所示: protected BindingManagerBase BindingManager { get {
文本框
,我给了它一个数据绑定
,如下所示:
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);
另外,您还没有发布您的companydeailsdataset
是什么,因此我假设它实现了IEditableObject
接口。否则,您必须自己执行,并确保在CancelEdit()
其中,ds
是数据集的对象,[0]
是数据集中的表数。如果您的过程返回多个表,您可以用双代码代替0来写入表名
textBox1.DataBinding.Add("Text",ds.Tables[0],"ColumnName")