【问题标题】:Addition of values in datagridview c#在datagridview c#中添加值
【发布时间】:2017-01-23 20:57:06
【问题描述】:

我对编程和 C# 还很陌生。我正在尝试为我的 datagridview 中的每一行添加某些列的值。 datagridview 没有链接到任何数据库,它的值来自用户输入但失败了。任何帮助将不胜感激。

这是我的代码:

double a,b,c,d,total = 0;

foreach(DataGridViewRow row in dataGridView1.Rows)
{
    foreach(DataGridViewColumn col in dataGridView1.Columns)
    {
        a = Convert.ToDouble(row.Cells[3].Value);
        b = Convert.ToDouble(row.Cells[4].Value);
        c = Convert.ToDouble(row.Cells[5].Value);
        d = Convert.ToDouble(row.Cells[6].Value);
        total = a + b + c + d;
        MessageBox.Show(total.ToString());
    }
}

【问题讨论】:

    标签: c# datagridview add rows


    【解决方案1】:

    你不需要内部循环,删除它,你得到解决方案

    double a,b,c,d,total = 0;
    
    foreach(DataGridViewRow row in dataGridView1.Rows)
    {
            a = Convert.ToDouble(row.Cells[3].Value);
            b = Convert.ToDouble(row.Cells[4].Value);
            c = Convert.ToDouble(row.Cells[5].Value);
            d = Convert.ToDouble(row.Cells[6].Value);
            total = a + b + c + d;
            MessageBox.Show(total.ToString());
    }
    

    【讨论】:

    • 谢谢,它有效。有没有办法不显示最终的消息框,因为最后一行的值显示了两次。谢谢你的帮助
    • 以上代码不应显示最后一行总共两次。循环后你有 MessageBox.Show 吗?
    • 不,我没有,但是在datagridview中,如果我在一行中添加一个输入,它会在最后自动添加一个空行。这可能就是为什么它两次显示最后一个总值的原因,我只是不知道如何解决它。
    • 是的,你是对的,如果 gridview addrow 属性打开,那么当你输入输入值时,就会打开新的空行。您可以通过控制每个单元格值来检查这一点,如果它们都为空则不显示消息
    • 我不久前通过在初始化我的变量之前添加“if(!row.IsNewRow)”来修复它。感谢您的帮助
    猜你喜欢
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2017-08-19
    • 2018-07-10
    • 1970-01-01
    相关资源
    最近更新 更多