我正在尝试在VB中的datagridview中替换空值。正在从访问数据库读入数据。每次运行它时都会收到与“System.NullReferenceException”相关的错误。
Sub dataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As DataGridViewCellFormattingEventArgs) _
Handles DataGridView1.CellFormatting
If e.ColumnIndex = Me.DataGridView1.Columns(7).Index Then _
' AndAlso (e.Value IsNot Nothing) Then
With Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)
If e.Value.Equals("") Then
e.Value = "very bad"
End If
End With
End If
End Sub
对此问题的任何帮助都将不胜感激!!
答案 0 :(得分:0)
您需要检查实际的数据库调用。您可以检查是否有Null
字段,并在那里替换它们。那么你不必在代码中处理它们......
IIF(ISNULL(yourcolumn),'', yourcolumn)
这将检查列是否为null
,如果是,则用空字符串替换它,否则它将返回值...
答案 1 :(得分:0)
尝试IsDBNull
:
Dim abc As Integer
abc= IIf(IsDBNull(DGVInvoice.Rows(max).Cells(3).Value) = True, 0, DGVInvoice.Rows(max).Cells(3).Value)
DGVInvoice
是您的DataGrid,max
是您的最大行号。