我已经将数据输入到数据网格视图列
dgvAccDetail.Rows(i).Cells(3).Value = dtVD.Rows(i).Item(“ DEBIT”)。ToString.Trim
现在,我需要为此获取“ DEBIT”列的总和...
Dim tot As Integer = 0
For i As Integer = 0 To dgvAccDetail.RowCount - 1
tot += dgvAccDetail.Rows(i).Cells(4).Value
Next
If tot = 0 Then
MessageBox.Show("No Records Found")
End If
TXTVoucherDTotal.Text = tot.ToString()
但是我收到了味精
“从字符串转换为double类型无效”
plz告诉我这段代码有什么问题
答案 0 :(得分:0)
您正在尝试将字符串值添加到整数值。
dgvAccDetail.Rows(i).Cells(4).Value
返回一个字符串。
您可以将其解析为整数:
tot += Integer.Parse(dgvAccDetail.Rows(i).Cells(4).Value)
答案 1 :(得分:0)
尝试一下:
For i = 0 To dgvAccDetail.RowCount - 1
tot += Cint(dgvAccDetail(4, i).Value)
Next
答案 2 :(得分:0)
首先,将Option设置为严格,它将帮助您避免以后出现许多错误。严格禁用该选项后,编译器必须推断数据类型,这就是为什么您的计算无法正常工作的原因。
第二,更改此行:
IF...THEN
收件人
Object Variable or With block variable not set
最后,您尝试对文本进行数学运算,需要首先将单元格值转换为正确的格式。
dgvAccDetail.Rows(i).Cells(3).Value = dtVD.Rows(i).Item("DEBIT").ToString.Trim
'This line doesn't compile with option strict on
答案 3 :(得分:0)
DataTable的计算方法需要2个字符串;表达式和过滤器。使用数据表中的相应列。
Dim columnSum As Integer = CInt(dtVD.Compute("Sum(DEBIT)", Nothing))