Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于数据c单独计算datagridview单元格_C#_.net_C# 4.0_Datagridview - Fatal编程技术网

C# 基于数据c单独计算datagridview单元格

C# 基于数据c单独计算datagridview单元格,c#,.net,c#-4.0,datagridview,C#,.net,C# 4.0,Datagridview,Datagridview根据数据库中的数据计算每个单元格的不同数量。如果是加法,则应进行加法;如果是减法,则应进行减法。 我创建了这个方法,但它会影响所有单元格的答案。应仅计算上述单元格 public void datagridviewone() { int addvalue = 0, subractvalue = 0; ds = cs.Select("select ChargesProperty from FrieghtGridview");

Datagridview根据数据库中的数据计算每个单元格的不同数量。如果是加法,则应进行加法;如果是减法,则应进行减法。 我创建了这个方法,但它会影响所有单元格的答案。应仅计算上述单元格

    public void datagridviewone()
    {
        int addvalue = 0, subractvalue = 0; 
        ds = cs.Select("select ChargesProperty from FrieghtGridview");
        list.Clear();
        addition.Clear();
        subtraction.Clear();
        for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
        {

            if(ds.Tables[0].Rows[j][0].ToString() == "Answer")
            {
                list.Add(j);
            }
            if(ds.Tables[0].Rows[j][0].ToString() == "Plus")
            {
                addition.Add(j);
            }
            if(ds.Tables[0].Rows[j][0].ToString() == "Minus")
            {
                subtraction.Add(j);
            }
        }
        if (list.Count > 0)
        {
            for(int j = 0; j < list.Count; j++)
            {
                if(addition.Count > 0)
                {
                    for(int adval = 0; adval <= addition.Count-1; adval++)
                    {
                        if 
              (dataGridView1.Rows[addition[adval]].Cells[3].Value.ToString() 
               != "")
                        {

                                addvalue += 
        Convert.ToInt32(dataGridView1.Rows[addition[adval]].Cells[3].Value);

                        }
                    }
                }
                if (subtraction.Count > 0)
                {
                    for (int adval = 0; adval <= subtraction.Count - 1; 
               adval++)
                    {
                        if 
    (dataGridView1.Rows[subtraction[adval]].Cells[3].Value.ToString() != "")
                        { 
                                subractvalue += 
     Convert.ToInt32(dataGridView1.Rows[subtraction[adval]].Cells[3].Value);
                        }
                    }
                }
                var finalans = addvalue - subractvalue;
                dataGridView1.Rows[list[0]].Cells[3].Value = finalans;  
                addvalue = 0;
                subractvalue = 0;
                finalans = 0;
            }
        }
    }

我建议您在绑定到网格之前对数据集/列表执行所有这些操作