我收到此错误,但我不知道如何修复它。我知道我应该写一些我尝试过的东西,但我不知道该尝试什么,即使在寻找了几个小时后如何处理错误。
如果需要更多信息,请告诉我。感谢
代码中突出显示的部分是:
Dim cdtrabajador As String = dgvr.Cells(0).Value.ToString
对象引用未设置为对象的实例。
NullReference异常未被用户代码
处理Private Sub PeopleDataGridView_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
If DataGridView1.RowCount > 0 AndAlso e.RowIndex > -1 Then
If e.RowIndex > -1 Then
Dim dgvr As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
Dim cdtrabajador As String = dgvr.Cells(0).Value.ToString
Dim qry = From dr As PersonalObraDataSet.PersonalObRow In PersonalObraDataSet.PersonalOb Where dr.cdTrabajador = cdtrabajador
If qry.Count > 0 Then
Dim Nombre As String = qry.First.Nombre1
dgvr.Cells(1).Value = Nombre
End If
End If
End If
End Sub
答案 0 :(得分:3)
很难确定问题的根源是什么,但您可以安全地在尝试对其执行任何操作之前检查单元格,并在单元格为空的情况下返回。类似的东西:
Dim cellObj as Object = dgvr.Cells(0).Value
if Not cellObj = Nothing Then
Dim cdtrabajador As String = cellObj.ToString
'...
'Perform the rest of your code
Else
Return
另请注意,如果Cells(0)
实际上为空,则在其上调用Value
也可能导致错误。如果您使用调试器,您应该能够确定哪个值为null并处理它,或者如果您希望存在一个值而不是它,则查看为什么它为null的原因。