如何计算空白的细胞总数?

时间:2013-11-16 20:27:05

标签: vb.net datagridview

Hello SO People;

我在计算DataGridView.cells总数时遇到的问题当存在空单元格时,它返回“从'DBNull'转换为'String'类型无效。”如何避免假设是空单元格的问题。

For Each colonne As DataGridViewRow In TDgrdView.Rows
    If TDgrdView.RowCount > 1 Then
         Dim monTotal As Decimal = 0
         For ind As Integer = 0 To TDgrdView.RowCount - 1
               monTotal += Convert.ToDouble(TDgrdView.Rows(index).Cells(1).Value)
         Next
         txtTotal.Text = monTotal
    End If
Next
  

注意:代码无空单元格   谢谢!提前

2 个答案:

答案 0 :(得分:1)

您可以使用DBNull来验证列是否为空。如果是,则不要将其包含在monTotal的计算中。

对代码的修改应该是这样的:

If Not IsDBNull(TDgrdView.Rows(ind).Cells(1).Value) Then
    monTotal += Convert.ToDouble(TDgrdView.Rows(index).Cells(1).Value)
End If

另外我认为ind是索引的拼写错误,重构上面的代码应该很容易。

答案 1 :(得分:0)

将defaultcellstyle的nullvalue设置为0可以解决问题。