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
注意:代码无空单元格 谢谢!提前
答案 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可以解决问题。