DataGridView替换空值

时间:2016-03-24 14:59:06

标签: vb.net datagridview

我正在尝试在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

对此问题的任何帮助都将不胜感激!!

2 个答案:

答案 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是您的最大行号。