VB.net BindingNavigator刷新当前记录

时间:2013-09-16 17:56:58

标签: vb.net dataset bindingnavigator

我正在尝试让我的bindingnavigator“刷新”并在更新记录后向我显示新数据。

我有一个包含4个字段的Winform(ID,Notes,SN,Cause)和一个BindingNavigator1。

  • 我将导航器设置为bindingsource。
  • 打开连接。
  • 设置我的tableadapter。
  • 设置我的数据集。
  • 添加我的表格。
  • 填写我的tableadapter。
  • 将bindingsource.datasource设置为ds.table(x)
  • 将数据绑定添加到text / comboboxes
  • 关闭连接

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

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

我尝试了各种组合来刷新bindingnavigator等等。这里有一些我没试过的事情。

  • BindingNavigator1.Refresh()
  • BindingSource1.ResetBindings(真)
  • Me.UpdateDataSources()
  • BindingSource1.ResetBindings(假)
  • Me.BindingNavigator1.BindingSource = Me.BindingSource1
  • Me.BindingNavigator1.Refresh()'不去

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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