Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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#winform_C#_Datagridview - Fatal编程技术网

仅计算可见行的总列c#winform

仅计算可见行的总列c#winform,c#,datagridview,C#,Datagridview,我有一行有三列名称Payment和Other Payment。我写这行是为了计算payment和other payment两列的总和 int sumDoit = 0; for (int i = 0; i < dataGridView1.Rows.Count; ++i) { int tmp = 0; int.TryParse(dataGridView1.Rows[i].Cells[11].Value.ToSt

我有一行有三列名称Payment和Other Payment。我写这行是为了计算payment和other payment两列的总和

  int sumDoit = 0;
        for (int i = 0; i < dataGridView1.Rows.Count; ++i)
        {
            int tmp = 0;
            int.TryParse(dataGridView1.Rows[i].Cells[11].Value.ToString(), out tmp);
            sumDoit += tmp;
        }
        txtPayement.Text = sumDoit.ToString("");

        int sumRecu = 0;
        for (int i = 0; i < dataGridView1.Rows.Count; ++i)
        {
            int tmp = 0;
            int.TryParse(dataGridView1.Rows[i].Cells[12].Value.ToString(), out tmp);
            sumRecu += tmp;
        }
        txtOtherpayement.Text = sumRecu.ToString("");
int-sumDoit=0;
对于(int i=0;i
这行的问题是,当我隐藏一些行时,它应该只计算可见行的总数,而不是所有行。你知道我如何调整这条线来达到我的目标吗?谢谢你试试这个

int sumDoit = 0;
foreach (DataGridViewRow rowItem in dataGridView1.Rows)
{ 
    if(rowItem.Visible){
       int tmp = 0;
       int.TryParse(rowItem.Cells[11].Value, out tmp);
       sumDoit += tmp;
    }
 }

我只是想给出同样的答案:)作为一个旁注:你应该考虑将你的两个循环合并为一个,同时计算<代码> SUODOIT 和<代码> SUMLUCU</代码>。