Datagridview单元格值(Get)没有返回。这是什么意思,我该如何解决?

时间:2018-02-16 05:17:03

标签: vb.net visual-studio datagridview

我尝试制作它,以便用户可以使用名为dgvDynamic的文本框和名为txtSearchDGV的按钮在名为btnSearch的数据网格视图中搜索他们想要的内容。单击btnSearch时,只有包含txtSearchDGV内的文本的单元格才会出现在datagridview中,但程序崩溃并说“System.Swindows.Forms.DataGridViewCell.Value.get”返回Nothing。 "这意味着什么,我需要做些什么来解决它?谢谢。

Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
        Dim temp As Integer = 0
        For i As Integer = 0 To dgvDynamic.RowCount - 1
            For j As Integer = 0 To dgvDynamic.ColumnCount - 1
                If dgvDynamic.Rows(i).Cells(j).Value.ToString = txtSearchDGV.Text Then
                    MsgBox("Item found")
                    temp = 1
                End If
            Next
        Next
        If temp = 0 Then
            MsgBox("Item not found")
        End If
    End Sub

1 个答案:

答案 0 :(得分:0)

如果单元格没有值:

If dgvDynamic.Rows(i).Cells(j).Value.ToString = txtSearchDGV.Text Then

然后Value属性为Nothing,即没有对象,并且您无法调用方法,例如ToString,关于不存在的对象。一种选择是使用CStr代替,它将处理空值:

If CStr(dgvDynamic.Rows(i).Cells(j).Value) = txtSearchDGV.Text Then