Vb.net 创建新记录时向DataGridView列添加值

Vb.net 创建新记录时向DataGridView列添加值,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,我正在使用Visual Studio 2017/VB/Winforms,我有一个DataGridView,它使用BindingSource连接到Access数据库 它工作得很好,但我需要以编程方式向其中一个字段/列添加一个值,当添加新记录时,该字段/列对用户隐藏。我很确定这是一个简单的问题,但我一直在努力解决这个问题,试图找出哪个事件是正确的。我正在查找的是DataGridView事件还是BindingSource事件 下面是我认为可以完成这项工作的代码,但它仍然给了我一个错误,即Project

我正在使用Visual Studio 2017/VB/Winforms,我有一个
DataGridView
,它使用
BindingSource
连接到Access数据库

它工作得很好,但我需要以编程方式向其中一个字段/列添加一个值,当添加新记录时,该字段/列对用户隐藏。我很确定这是一个简单的问题,但我一直在努力解决这个问题,试图找出哪个事件是正确的。我正在查找的是
DataGridView
事件还是
BindingSource
事件

下面是我认为可以完成这项工作的代码,但它仍然给了我一个错误,即ProjectID不能为Null

    Private Sub StoresDataGridView_DefaultValuesNeeded(sender As Object, e As DataGridViewRowEventArgs) _
                Handles StoresDataGridView.DefaultValuesNeeded
        e.Row.Cells("colProjectID").Value = 1
    End Sub
请帮我弄清楚这一点,同样,我确信我遗漏了一些非常简单的东西。我还试着在那个事件中设置一个断点,但它似乎并没有开火

我还尝试将其添加到表单的加载事件中,在加载表单时没有收到任何错误,但在尝试添加新记录时,仍然收到相同的错误


StoresDataGridView.Columns(“colProjectID”).DefaultCellStyle.NullValue=1

使用网格的
行验证事件,如下所示:


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

事实证明,
StoresDataGridView\u defaultvalues need
是正确的事件,它只是没有触发,因为网格的
allowUserToAddress
设置为
False