Vb.net 对象引用未设置为DataGridView上对象的实例

Vb.net 对象引用未设置为DataGridView上对象的实例,vb.net,datagridview,Vb.net,Datagridview,我有以下代码: dgv.DataSource = myObject.functionthatreturnsadatatable() dgv.Columns(0).Visible = False dgv.Columns(1).HeaderText = "Something" dgv.Columns(2).HeaderText = "Something" dgv.Columns(3).HeaderText = "Something" dgv.Columns(4).Visible = False dg

我有以下代码:

dgv.DataSource = myObject.functionthatreturnsadatatable()
dgv.Columns(0).Visible = False
dgv.Columns(1).HeaderText = "Something"
dgv.Columns(2).HeaderText = "Something"
dgv.Columns(3).HeaderText = "Something"
dgv.Columns(4).Visible = False
dgv.Columns(5).HeaderText = "Something"
dgv.Columns(6).HeaderText = "Something"
dgv.AutoResizeColumns()
Debug.WriteLine(dgv.CurrentRow.Cells(0).Value)
这是在我的formLoad事件中,即使我的dgv不为空,我也会不断收到此错误。 如果我对最后一行进行注释,代码将起作用,dgv将被填充。我做错了什么

DataGridViewRow,表示包含当前 单元格,如果没有当前单元格,则为空

当currentRow为空时,您请求了一个单元格


只要您设置了
dgv.Columns(0).Visible=False,您就可以


Debug.WriteLine(dgv.CurrentRow.Cells(0.Value)
您将始终收到该错误。

在该行的哪个点被选中?您正在引用“CurrentRow”。在程序或用户选择不同的行之前,您是否假设CurrentRow是第一行(即第0行)?您是否已经解决了这个问题?根据我的了解,您不能从ASP.net Gridview的隐藏列访问值,但可以从Datagridview的隐藏列访问值。你确定你已经测试过了吗?我确认。问题是currentRow为空,和列可见性无关。是的,我已经测试过了。你的测试错了。。。他在评论最后一行时没有错误,因为他没有在其他地方引用CurrentRow@克里斯。。我不知道。。这对我来说太没用了。。我不知道你是在测试还是在想。。无论什么