如何忽略datagridview上的空条目



我有一个代码,可以从 datagridview读取整数和日期值。k值中的某些值中有空条目,我正在尝试让该应用忽略这些单元格,但我没有任何运气。该错误弹出在线上 j = datediff....

我尝试使用if语句

If DataGridView1.Rows(e.RowIndex).Cells(k).Value IsNot Nothing Then但这仍然会产生一个错误,告诉我它不能将DBNull条目转换为date

我看不到我在做什么错,因此会不胜感激。

    For k = 8 To 52 Step 2
        Dim j As Integer
        If DataGridView1.Rows(e.RowIndex).Cells(k).Value IsNot Nothing Then
            j = DateDiff(DateInterval.Day, DataGridView1.Rows(e.RowIndex).Cells(k).Value, DataGridView1.Rows(e.RowIndex).Cells(k - 2).Value)
            If DataGridView1.Rows(e.RowIndex).Cells(k + 1).Value = 0 Then
                If j > 7 Then
                    DataGridView1.Rows(e.RowIndex).Cells(k - 1).Value = 6
                Else
                End If
            Else
            End If
        End If
    Next k

如果您想获得更多帮助,以识别编译时间中可能的错误,请在项目或文件中设置Option Strict On

  • NothingDbNull不一样。
  • Nothing是类型的默认值
  • DbNull US类型代表数据库NULL值。
  • 只有DbNull.Value是可比的。
For k = 8 To 52 Step 2
    Dim row As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
    If row.Cells(k).Value Is DBNull.Value Or row.Cells(k).Value Is Nothing Then Continue For
    Dim firstDate As Date = DirectCast(row.Cells(k).Value, Date)
    Dim secondDate As Date = DirectCast(row.Cells(k - 2).Value, Date)
    Dim difference As TimeSpan = firstDate - secondData
    If difference.Days > 7 AndAlso row.Cells(k + 1).Value = 0 Then
        row.Cells(k - 1).Value = 6
    End If
Next

相关内容

  • 没有找到相关文章

最新更新