1

我正在尝试让绑定导航器“刷新”并在更新记录后向我显示新数据。

我有一个带有 4 个字段(ID、Notes、SN、Cause)和一个 BindingNavigator1 的 Winform。

  • 我将导航器设置为绑定源。
  • 打开一个连接。
  • 设置我的 tableadapter。
  • 设置我的数据集。
  • 添加我的表。
  • 填满我的表格适配器。
  • 将 bindingsource.datasource 设置为 ds.table(x)
  • 将数据绑定添加到文本/组合框
  • 紧密连接

这一切都很好。我从我的数据库中提取数据。我可以使用导航器很好地滚动记录。

现在,当我使用 Cause 组合框更新我的一条记录时,它可以通过 UPDATE 语句影响其他记录。这工作正常,它运行 UPDATE 命令并在数据库中为所有应该更新的记录正确设置字段,但是当我使用 BindingNavigator 滚动记录时,新数据不会在其他记录中表示。在目前的记录中很好。

我尝试了各种刷新绑定导航器等的组合。这是我尝试过的一些事情,但没有运气。

  • BindingNavigator1.Refresh()
  • BindingSource1.ResetBindings(True)
  • 我.UpdateDataSources()
  • BindingSource1.ResetBindings(False)
  • Me.BindingNavigator1.BindingSource = Me.BindingSource1
  • Me.BindingNavigator1.Refresh() '不行

有任何想法吗?

4

1 回答 1

0

我相信你需要做的只是重新设置你的数据源bindingsource。更新后重新从数据库中读取数据,并将这些结果设置为datasource.

var dbData = GetMyDbData();
BindingSource1.DataSource = dbData;

然后,当您使用 导航记录时bindingnavigator,您应该会看到更新记录中的所有更改以及因此更新的任何其他记录。

于 2014-06-03T13:59:05.613 回答