如何在datagridview中获取null值我在单元格验证事件中执行了此操作,但它似乎有效。我希望用户添加一个新行,有人强迫他提供ID或删除该行。我究竟做错了什么。这不是一个怎么做的问题。这是一个错误的问题。所以现在它检测到null但是一旦我纠正了细胞,它仍然允许我离开该行。
If DataGrid.CurrentCell.ColumnIndex = 0 Then
If IsDBNull(DataGrid.CurrentCell.Value) Then
Msgbox("Cannot be Null")
e.cancel = true
ElseIf Not IsDBNull(DataGrid.CurrentCell.Value) Then
e.cancel = False
End If
End If
答案 0 :(得分:1)
所以我试过这个,它对我有用。它只是使用e.formatedvalue。当前单元格值是编辑之前和之后的单元格值,而格式化值是正在键入的单元格。我想我现在明白所以这里是编码
If grdDataGrid.CurrentCell.ColumnIndex = 2 Then
If e.FormattedValue = "" Or IsDBNull(e.FormattedValue) Then
MsgBox("Cannot be Null")
e.Cancel = True
Exit Sub
End If
End If
它们也有不同的方法,比如将列属性调整为不允许为null但由于列属性继承自数据库,我决定使用它。
答案 1 :(得分:0)
我认为这应该是有效的......
If DataGrid.CurrentCell.ColumnIndex = 0 Then
If IsDBNull(DataGrid.CurrentCell.Value) Then
Msgbox("Cannot be Null")
e.cancel = true
exit sub
End If
End If
答案 2 :(得分:0)
另一种方法是将新数据网格单元格的默认空值显式设置为您要检查的值。例如,如果要提取字符串值,请将null =设置为空字符串。您可以使用属性选项板来设置它。