先解释一下:
我正在尝试为我正在开发的游戏制作(应该是什么)一个简单的离线“角色生成器”。我为此使用VB,但我仍然是初学者。我在 VS 2012 中创建了一个 WinForms 应用程序,并创建了一个本地数据库对象来保存各种数据。在数据库中,我有一个“玩家”表来保存所有数据。我还在表单中添加了一个 BindingNavigator,但我删除了除添加和删除按钮之外的所有按钮,因为导航由绑定到 PlayersBindingSource 的 List 控件控制。我还在 BindingNavigator 中添加了一个保存按钮。
我用两个示例条目手动填充了“玩家”表,当表单加载时,列表框通过“玩家名称”字段正确显示这两个条目。选择一个时,代表每个字段的所有控件都会相应更改。如果我更改任何值并点击保存按钮,它似乎可以与我正在使用的代码一起使用。
现在的问题:
当按下添加按钮时,它会在 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
此外,如果我查看“Players”表中包含的数据,两个示例条目保持不变,并且没有添加其他条目,所以我认为编辑从未真正提交到表中。
如果有人可以帮助我,或者甚至可以简单地提供一些对我有帮助的教程的链接,我将不胜感激。我浏览了这个站点和微软的 msdn 库,搜索有关数据绑定和导航的信息,但我似乎找不到任何有用的信息。