You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET实现DataGridView仅计算AMOUNT列的行总计

计算DataGridView中指定列(AMOUNT)的总计

你的问题出在代码遍历了当前行的所有单元格,所以会累加整行的值。要只计算“AMOUNT”列的总计,只需定位到该列,遍历每行的对应单元格即可,同时要处理空值和非数值的情况,避免报错。

修改后的代码示例:

' 先获取AMOUNT列的索引,避免硬编码列索引
Dim amountColumnIndex As Integer = ReviewGrid.Columns("AMOUNT").Index
Dim totalAmount As Decimal = 0

' 遍历每一行,跳过新行(DataGridView默认的空行)
For Each row As DataGridViewRow In ReviewGrid.Rows
    If Not row.IsNewRow Then
        ' 检查单元格值是否有效,避免空值或非数值导致异常
        Dim cellValue As Object = row.Cells(amountColumnIndex).Value
        If cellValue IsNot DBNull.Value AndAlso cellValue IsNot Nothing Then
            Dim amount As Decimal
            If Decimal.TryParse(cellValue.ToString(), amount) Then
                totalAmount += amount
            End If
        End If
    End If
Next

' 输出或使用总计值
Console.WriteLine($"AMOUNT列总计:{totalAmount}")

关键说明:

  • 用ReviewGrid.Columns("AMOUNT").Index获取目标列的索引,比硬编码数字更灵活,列顺序改变也不影响
  • 加入Not row.IsNewRow判断,跳过DataGridView自动生成的空行,避免计算无效数据
  • 用Decimal.TryParse验证单元格值是否为有效Decimal,防止空值或非数值输入引发错误

内容的提问来源于stack exchange,提问作者Arrow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:40:51