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

删除DataGridView行时如何访问指定列以扣除对应成本

解决方案:删除DataGridView行时扣除对应成本

要实现删除行时从总计中扣除「Çmimi」列的成本,核心要点是在删除行之前先获取到该列的值——一旦执行dataGridView1.Rows.RemoveAt(item.Index),该行就会从控件中移除,再想访问就来不及了。

下面是具体的实现步骤和代码示例:

  1. 先获取要删除行的「Çmimi」列数值

    • 通过行的Cells集合,用列名(或者列索引)访问对应单元格的值
    • 必须做类型转换和空值判断,避免因数据异常导致程序报错
  2. 从总计变量中扣除该数值

  3. 最后执行行删除操作

示例代码如下:

// 假设你已拿到要删除的行对象item(比如通过选中行、循环遍历获取)
if (item != null)
{
    // 通过列名获取Çmimi列的值,也可以用列索引比如Cells[2],但列名更直观可靠
    object cellValue = item.Cells["Çmimi"].Value;
    // 转换为数值类型(这里用decimal适配货币场景,你可以根据实际需求换成int/double)
    if (cellValue != null && decimal.TryParse(cellValue.ToString(), out decimal cost))
    {
        // 从总计中扣除成本,假设total是你的总计变量
        total -= cost;
        // 更新总计的显示(比如在Label控件中展示)
        labelTotal.Text = total.ToString("C"); // 按货币格式格式化显示
    }
    // 最后执行删除行操作
    dataGridView1.Rows.RemoveAt(item.Index);
}

额外提示:

  • 如果是批量删除多行,只需循环遍历选中的行,重复上述逻辑即可
  • 始终对单元格值做空值和类型校验,能有效避免因单元格为空、格式错误引发的崩溃
  • 如果你是用绑定数据源(比如DataTable)的方式,也可以先从数据源中取值,删除数据源中的行后再刷新DataGridView

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:32:34