我尝试在cellvaluechanged事件的DBNull
中检查DataGridView
值。
这是我的代码,
Private Sub DataGridView1_CellValueChanged(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
Try
If IsDBNull(Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value()) Or _
Val(Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) < 0 Then
Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
在我的代码中,我试图检查如果该单元格为空或小于0,则将其替换为0.但是,这似乎不起作用并抛出异常{ {1}}。任何帮助将不胜感激。
答案 0 :(得分:2)
试试这个......
If IsDBNull(Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value()) Then
Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0
Else
If Val(Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) < 0 Then
Me.DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0
End If
End If