0

如何在 datagridview 中获取空值我在单元格验证事件中执行了此操作,但它似乎不起作用。我希望用户添加一个新行,有人强迫他提供一个 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
4

3 回答 3

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

它们也是不同的方法,例如将列属性调整为不允许为空,但由于列属性继承自数据库,我决定使用它。

于 2013-06-20T07:26:09.777 回答
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
于 2013-06-20T03:32:36.213 回答
0

解决此问题的另一种方法是将新数据网格单元格的默认空值显式设置为您正在检查的值。例如,如果要提取字符串值,请将 null= 设置为空字符串。您可以使用属性选项板进行设置。

于 2014-12-12T13:47:10.593 回答