0

このエラーが発生しましたが、修正方法がわかりません。私が試したことを書くことになっていることはわかっていますが、エラーに対処する方法について数時間探した後でも、何を試したらよいかわかりません。

さらに情報が必要な場合は、お知らせください。ありがとう

コードの強調表示された部分は次のとおりです。

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
4

1 に答える 1

3

問題の根本原因を特定することは困難ですが、セルに対してアクションを実行する前にセルを null チェックし、セルが null の場合に戻ることは安全かもしれません。何かのようなもの:

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

また、ifCells(0)が実際には null の場合、それを呼び出すValueとエラーが発生する可能性があることにも注意してください。デバッガーを使用すると、どの値が null であるかを特定してそれを処理するか、値が存在すると予想されて存在しない場合に null である理由を調べることができるはずです。

于 2013-07-18T16:25:46.047 に答える