2017-07-14 61 views
0

我正在使用Visual Studio 2017/VB/Winforms,並且我有一個DataGridView正在使用BindingSource連接到Access數據庫。創建新記錄時向DataGridView列添加值

它運行良好,但我需要以編程方式添加一個值到添加新記錄時從用戶隱藏的字段/列之一。我很確定這是一個簡單的問題,但我一直在努力研究幾個小時,試圖找出哪個事件是正確的。這是我正在尋找的DataGridView事件還是BindingSource事件?

這裏是我想會做這項工作的代碼,但它仍然給我的錯誤,指出專案編號不能爲Null

Private Sub StoresDataGridView_DefaultValuesNeeded(sender As Object, e As DataGridViewRowEventArgs) _ 
       Handles StoresDataGridView.DefaultValuesNeeded 
     e.Row.Cells("colProjectID").Value = 1 
    End Sub 

請幫我想出解決辦法,如再次,我相信這件事情真的很簡單,我錯過了。我也試圖在這個事件中設置一個斷點,而且它似乎並沒有被解僱。

我也嘗試將這個添加到窗體的Load事件中,並且在窗體加載時沒有得到任何錯誤,但是當嘗試添加新記錄時,我仍然得到相同的錯誤。

StoresDataGridView.Columns("colProjectID").DefaultCellStyle.NullValue = 1

+0

事實證明,'StoresDataGridView_DefaultValuesNeeded'是正確的事件,它只是wasnt射擊,因爲電網有'AllowUserToAddRows'是設置爲「False」 – Joe

回答

0

使用網格的RowValidating事件是這樣的:

StoresDataGridView.Rows(StoresDataGridView.Rows.Count - 1).Cells("colProjectID").Value = 1