【问题标题】:Forms Databinding - DataSet not updating?表单数据绑定 - 数据集未更新?
【发布时间】:2010-10-14 03:44:28
【问题描述】:

我有一个表单(实际上是紧凑框架),其中包含几个字段、一个日期和一个字符串等。两个 TextBox 控件都绑定到 BindindSource 中的属性。

BindindSource 有一个 DataSet 作为其 DataSource 属性,而 DataMember 是 SQL CE 数据库中的一个表。

当我想添加新行时,我调用 bindingSource.AddNew(),然后调用 bindingSource.MoveLast()。表单显示默认值(在 DataSet 中定义),我可以编辑所有字段。

为了保存表单,我调用 bindingSource.EndEdit() 并使用 TableAdapter 方法将 DataSet 行中的值插入到数据库中。日期进入数据库,字符串没有。相反,保存的是字符串的默认值,而不是我在文本框中键入的值。

当我在调用 EndEdit() 后检查 DataSet 表的行中的数据时,日期字段会使用表单中的数据进行更新,而不是字符串。

奇怪的是,当我使用相同的表单(不调用 AddNew)编辑现有行时,字符串字段被更新并保持得很好。所以这只发生在对 BindingSource 调用 AddNew() 之后。我错过了什么?我应该从哪里开始寻找?

不幸的是,代码有点过多,无法在此处发布。

【问题讨论】:

    标签: winforms data-binding dataset bindingsource tableadapter


    【解决方案1】:

    我发现了问题 - 我不小心在 BindingSource 中为 TextBox 的 Tag 和 Text 属性选择了同一列。我认为发生的事情是先写回Text,然后再写回Tag,并且由于Tag没有更新,它覆盖了修改后的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多