数据绑定到对象 - 如何更新对象/绑定?

时间:2010-06-09 09:56:56

标签: c# .net winforms data-binding

我有一个文本框并使用数据绑定到一个对象。这很好,直到我尝试选择新产品:

product = new Product(id);
textbox.DataBindings.Add("Text", product, "ProductName");

// After user action:
product = new Product(newId); // <- the textbox isn't updated

我是否必须清除数据绑定并在产品更新后再次设置?

1 个答案:

答案 0 :(得分:8)

简而言之:是的,您必须重新建立DataBinding,因为TextBox具有对旧对象的引用。

但为了使其更加健壮,您应该为您的DataBinding使用BindingSource。要使其工作,您应该在设计视图中打开表单。

  • 选择TextBox并打开“属性”窗口
  • 查看类别数据,然后点击(DataBindings)属性
  • 左侧的叉号
  • 点击文字属性
  • 旁边的下拉按钮
  • 在下拉列表中选择添加项目数据源
  • 从向导中选择对象,然后选择下一个对象类型

现在,您将在表单中获得一个新对象(例如 productBindingSource ),该对象绑定到TextBox的文本。最后但并非最不重要的是,您必须使用以下代码附加您的对象:

productBindingSource.DataSource = product;

但是这个解决方案对重新绑定没有帮助,但你现在要做的就是:

product = new Product();
productBindingSource.DataSource = product;