【问题标题】:computing sum of numeric column in c# .net [duplicate]在c#.net中计算数字列的总和[重复]
【发布时间】:2011-08-04 11:11:06
【问题描述】:

可能重复:
How to calculate sum of a DataTable's Column in LINQ (to Dataset)?

在我的 Data_Grid_View 中,我有一个名为 Amount 的数字列,我想在一个文本框中显示该列的总计,谁能告诉它在 c# .net 中的代码是什么

【问题讨论】:

    标签: c#


    【解决方案1】:

    假设您的金额为double,以下是使用 LINQ 的方法:

    dataGridView.Rows.OfType<DataGridViewRow>()
                .Sum(row => Convert.ToDouble(row.Cells["Amount"].Value));
    

    以下是它实际适合您的程序的方式:

    private void button2_Click(object sender, EventArgs e)
    {
        decimal sum = dataGridView1.Rows.OfType<DataGridViewRow>()
                      .Sum(row => Convert.ToDecimal(row.Cells["Money"].Value));
        textBox1.Text = sum.ToString();
    }
    

    【讨论】:

    • 你如何得到总和?当我键入 dataGridView.Rows 时。我无法在任何地方找到“Sum”,我尝试搜索文档。另外我已经在使用 System.Linq
    • MrFox:感谢您的关注。它需要OfType&lt;DataGridViewRow&gt;() ,因为Rows 实现了IEnumerable 而不是IEnumerable&lt;T&gt;(LINQ 需要)。
    • private void button2_Click(object sender, EventArgs e) { int sum = 0; dataGridView1.Rows.OfType() .Sum(row => Convert.ToDouble(row.Cells["Money"].Value)); textBox1.Text = sum.ToString(); } 这在 text_box 字段中显示 0 答案,我应该怎么做?
    • @cat20:它向您显示 0,因为您从未将除 0 之外的任何内容放入 sum。请参阅我的编辑以了解如何正确执行。
    • 嘿,非常感谢它正在工作,你能告诉我如果我想直接在文本框中显示总和而没有按钮,那么我该怎么做?
    【解决方案2】:

    试试这个:

     int sum = 0;
     int ColumnIndex=1; //your column index 
    
     //Iterate through all the cells of Specified ColumnIndex in each row and get the sum 
     for (int i = 0; i < dataGridView1.Rows.Count; ++i)
     {
        sum += int.Parse(dataGridView1.Rows[i].Cells[ColumnIndex].Value.ToString());
     }
     //display sum 
     textBox1.Text = sum.ToString();
    

    【讨论】:

    • textBox1.Text = sum.ToString()!
    • 我已在 TextBox 上添加了您的代码 click private void textBox1_TextChanged(object sender, EventArgs e) { int sum = 0; int ColumnIndex = 2; //你的列索引 //遍历每行中Specified ColumnIndex的所有单元格并得到总和 for (int i = 0; i
    • 你有没有遇到这个问题...??
    • 我通过点击 text_box 添加了你的代码,它没有显示错误,但也没有显示 text_box 中的总和,我应该在 text_box 上写这个代码点击才对吗?
    • 您可能想在某些 button_click 事件中编写此代码以对其进行测试...!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2019-02-21
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多