0

先解释一下:

我正在尝试为我正在开发的游戏制作(应该是什么)一个简单的离线“角色生成器”。我为此使用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 库,搜索有关数据绑定和导航的信息,但我似乎找不到任何有用的信息。

4

2 回答 2

0

您想在插入行后的“btnNewPlayer_Click”子中再考虑一下,清除列表并重新加载列表项或调用您用来填充列表项的函数。

于 2013-10-04T06:48:40.180 回答
-1

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

于 2013-10-04T05:24:26.303 回答