首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在TextChanged事件中添加列值?

如何在TextChanged事件中添加列值?
EN

Stack Overflow用户
提问于 2014-11-22 20:17:35
回答 2查看 1.5K关注 0票数 0

我已经在GridView列中输入值。

在GridView中输入一些数据后,我想让它计算特定列的总和。

我如何才能做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2014-11-22 20:53:00

如果您需要的是在dataGridView中显示特定列的总和,那么这可能会有所帮助:

代码语言:javascript
运行
复制
private void dataGridView2_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == 5)
        textBox9.Text = CellSum().ToString();
}

private double CellSum()
{
    double sum = 0;
    for (int i = 0; i < dataGridView2.Rows.Count; ++i)
    {
        double d = 0;
        Double.TryParse(dataGridView2.Rows[i].Cells[5].Value.ToString(), out d);
        sum += d;
    }
    return sum;
}

需要注意的一些事项:

  1. 确保您要求和的数据是数字形式的。因此,列类型需要是整型、双精度或浮点型(但一定不是nvarchar或varchar)。这将确保程序在求和值时不会进入错误状态。
  2. 在上面的代码中,取自StackOverflow中的另一个answer,该列中的值被解析为双精度,以允许十进制数,而不仅仅是整数。
  3. 需要将和存储在类型为double的变量中。然后由您决定如何处理它:是将其存储在数据库中的另一个位置,还是以标签的形式显示给用户。
票数 0
EN

Stack Overflow用户

发布于 2014-11-22 20:55:04

您必须对TextchangedEvent中的值进行求和,因此请尝试以下操作

代码语言:javascript
运行
复制
protected void txtintroId_TextChanged(object sender, EventArgs e)
    {
float total= 0;
        foreach (GridViewRow gridViewRow in gridView.Rows)
        {

            lbltotal = (Label)gridViewRow.FindControl("lbltotal");

            float rowValue = 0;
            if (float.TryParse(lbltotal.Text.Trim(), out rowValue))
                total += rowValue;
        }
        GridView1.FooterRow.Cells[3].Text = total.ToString();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27077274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档