2013-10-04 85 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控件。現在,我只是在保存編輯時遇到問題。感謝您的幫助。 –

相關問題