繁体   English   中英

datagridview单元格空值错误

[英]datagridview cell null value error

如果未输入datagridview单元格中的值,那么现在唯一的处理错误的方法就是此方法。 有人有更好的解决方案吗?

Dim senderGrid = DirectCast(sender, DataGridView)

If TypeOf senderGrid.Columns(e.ColumnIndex) Is DataGridViewButtonColumn _
        AndAlso e.RowIndex >= 0 _ 
        AndAlso senderGrid.Columns(e.ColumnIndex).Name = "Add" Then

    Dim _status As Integer

    Try
        _status = Math.Abs(CInt(dgv6.Item("dgv6_Aktivno", dgv6.CurrentRow.Index).Value))
    Catch ex As Exception
        _status = 0
    End Try

    Dim _id As Integer
    Try
        _id = dgv6.Item("dgv6_id", dgv6.CurrentRow.Index).Value
    Catch ex As Exception
        _id = 0
    End Try

End if

在将值转换为Integer并将其默认值设置为0 ,可以尝试Convert.ToInt32处理null值,但要采取一些预防措施。 Convert.ToInt32将所有null值转换为0

_status = Math.Abs(Convert.ToInt32("VALUE_TO_CONVERT"))

以及注意事项:

  1. VALUE_TO_CONVERT必须为String类型。
  2. 您可能还需要处理的情况下, VALUE_TO_CONVERT包含像任何符号,. ()或字符。
  3. 如果VALUE_TO_CONVERTChar类型,还需要注意

有关转换的详细讨论,请检查int解析和转换toint32之间的主要区别是什么,以及Convert.ToInt32MSDN。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM