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

时间:2019-11-15 09:09:11

标签: c# datagridview

我有一些行,其中三列为名称付款,其他列为付款。我写这行来计算两列付款和其他付款的总和

  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("");

这行的问题是,当我隐藏一些行时,它应该计算可见行的总数,而不是所有行。知道如何调整这条线以达到目标吗?谢谢

1 个答案:

答案 0 :(得分:1)

尝试一下。

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;
    }
 }