C# 如何在C中基于DataGridView中的另一列计算行数#

C# 如何在C中基于DataGridView中的另一列计算行数#,c#,datagridview,textbox,count,sum,C#,Datagridview,Textbox,Count,Sum,我在这三个字段中有7列是只读字段,根据耗材名称,我想对已发放数量字段求和 我想根据消耗品名称对发出的数量进行合计,并将合计与所需数量进行比较。消耗品名称太多了。我的问题是如何根据消耗品名称计算发行量列。 我试过了,最后我得到了答案,这在逻辑上是我无法解释的。1)创建一个字符串列表,其中包含列“消耗品名称”的所有行。填上名字 2) 创建一个整数列表,其数量等于上述列表中的项数。装满数量 3) 从(1)创建不同字符串的列表 4) 创建一个整数列表,该列表等于(3)中的项数 5) 进入每个不同的元素,

我在这三个字段中有7列是只读字段,根据耗材名称,我想对已发放数量字段求和

我想根据消耗品名称对发出的数量进行合计,并将合计与所需数量进行比较。消耗品名称太多了。我的问题是如何根据消耗品名称计算发行量列。 我试过了,最后我得到了答案,这在逻辑上是我无法解释的。

1)创建一个字符串列表,其中包含列“消耗品名称”的所有行。填上名字

2) 创建一个整数列表,其数量等于上述列表中的项数。装满数量

3) 从(1)创建不同字符串的列表

4) 创建一个整数列表,该列表等于(3)中的项数

5) 进入每个不同的元素,获取相关的匹配“消耗品名称”并添加数量

6) 如果希望比较或检查其他列,可以执行类似的步骤

您可以参考以下代码:

    public void getQuantity()
    {
        List<string> consumbleNames = new List<string>();
        List<int> quantity = new List<int>();

        //Cells[5] refer to 6th column : Quantity issued: you can use column name too
        for (int i = 0; i < yourDataGridView.Rows.Count; i++)
        {
            consumbleNames.Add(yourDataGridView.Rows[i].Cells[0].Value.ToString());
            quantity.Add((int)Convert.ToInt32(yourDataGridView.Rows[i].Cells[5].Value.ToString()));
        }

        List<string> distinctNames = new List<string>(consumbleNames.Distinct());
        List<int> quantityRelated = new List<int>(distinctNames.Count);

        for (int i = 0; i < distinctNames.Count; i++)
        {
            quantityRelated.Add(new int());

            for (int j = 0; j < consumbleNames.Count; j++)
            {
                if (consumbleNames[j].Equals(distinctNames[i]))
                {
                    quantityRelated[i] += quantity[j];
                }
            }
        }

        foreach (int t in quantityRelated)
        {
            /* quantity corresponds to the each distinct item */
        }
    }
public void getQuantity()
{
List consumbleNames=新列表();
列表数量=新列表();
//单元格[5]参考第6列:发出数量:您也可以使用列名
对于(int i=0;i
您尝试过什么吗?请阅读,我正在搜索如何基于另一列求和列中的值。