datagridview cell vb.net的空值

时间:2013-06-20 03:19:35

标签: vb.net visual-studio-2012 datagridview

如何在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

3 个答案:

答案 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 =设置为空字符串。您可以使用属性选项板来设置它。