我一直收到这个错误:
其他信息:运营商' ='未定义类型' DBNull'和字符串
我已尝试将IsDBNull Check添加到代码中,但无法使其正常工作。这是我的代码,没有我加入IsDBNull:
If EquationVariable = "=" Then
For Each R0w In Sorter.DataGridView1.Rows
Dim ColumnName As String = ListBox1.SelectedItem
Sorter.DataGridView1.CurrentCell = Sorter.DataGridView1.Item(ColumnName, R0w.index)
If Sorter.DataGridView1.CurrentCell.Value = SearchVariable Then
Sorter.DataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.Red
Else
End If
Next
Else
MsgBox(ListBox1.SelectedItem.ToString & " Doest not = " & SearchVariable)
End If
我正在接收错误:
If PostalSorter.DataGridView1.CurrentCell.Value = SearchVariable Then
以下是我试图解决的问题:
If IsDBNull(PostalSorter.DataGridView1.CurrentCell.Value) Then
Else
If PostalSorter.DataGridView1.CurrentCell.Value = SearchVariable Then
PostalSorter.DataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.Red
Else
End If
End If
答案 0 :(得分:1)
您可以尝试以下操作:
If Not IsDBNull(Sorter.DataGridView1.CurrentCell.Value) AndAlso Sorter.DataGridView1.CurrentCell.Value = SearchVariable Then
Sorter.DataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.Red
AndAlso
运算符在此实例中很方便,因为与常规And
不同,如果它遇到评估为false
的条件,则它不再读取。通过创建我们的第一个条件Not isDBNull
并使用AndAlso
,我们确保只有在CurrentCell.Value
不是DBNull的情况下才会发生导致问题的比较。