2013-10-04 22 views
0

首先解释一下:如何使用BindingNavigator将条目添加到我的表中并保存?

我试图让(应该是什么),一个游戏,我的工作就简单离线“字符发生器”。我为此使用VB,而且我仍然是初学者。我在VS 2012中创建了一个WinForms应用程序,并创建了一个本地数据库对象来存放各种数据。在数据库中,我有一个“玩家”表来存放所有的数据。我还在表单中添加了一个BindingNavigator,但是除了添加和删除按钮外,我还删除了所有的按钮,因为导航由绑定到PlayersBindingSource的List控件控制。我还为BindingNavigator添加了一个保存按钮。

我用两个示例条目手动填充“Players”表,并在表单加载时,listBox正确显示两个条目的“Player Name”字段。当选择一个时,代表每个字段的所有控件相应地改变。如果我改变任何值并点击保存按钮,它似乎与我正在使用的代码一起工作。

现在的问题:

当按下添加按钮,这让ListBox中的一个新的条目,但没有指定的默认值被显示出来。如果我编辑这个条目,然后点击保存它似乎更新正常。但是,如果我对任何条目进行其他更改并尝试保存,则会引发异常。

当按下删除按钮时,条目会按照预期从列表中消失,但如果我尝试保存,则会再次出现异常。

这里是我的形式迄今为止的代码(不要太多):

Public Class frmMain 

    Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     Me.PlayersTableAdapter.Fill(Me.DatPlayerDataSet.Players) 
    End Sub 

    Private Sub SaveToolStripButton_Click(sender As Object, e As EventArgs) Handles SaveToolStripButton.Click 
     Me.Validate() 
     Me.PlayersBindingSource.EndEdit() 
     Me.TableAdapterManager.UpdateAll(Me.DatPlayerDataSet) 
    End Sub 
End Class 

另外,如果我看着包含在“运动员”表中的数据,这两个例子项保持不变,并且没有额外的条目被添加,所以我不认为这些编辑从未实际上提交给表格。

如果任何人都可以帮助我,或者甚至可以简单地提供一些帮助我的教程链接,我会非常感激。我浏览过这个网站和microsofts msdn库,搜索有关数据绑定和导航的信息,但我似乎无法找到任何有用的信息。

+0

我还应该提到,我没有使用实体框架,据我所知。 此外,我需要添加一个复制按钮来复制选定的条目,并将打印按钮发送到打印机的所有数据,但这是未来:) –

回答

0

尝试刷新页面,该列表可能会更新。

+0

这是一个独立的离线应用程序。没有页面可以刷新。 –

0

您希望在插入行后清除列表并重新加载列表项目或调用您用来填充列表项目的函数时,在“btnNewPlayer_Click”子文件中再做一个思考。

+0

我现在得到了新的条目。我只需要使用BindingNavigator控件。现在,我只是在保存编辑时遇到问题。感谢您的帮助。 –

相关问题