循环遍历多个datagridview

时间:2016-11-14 09:05:06

标签: c# winforms datagridview

在我的Windows窗体中,我有10个datagridview。它们完全相同,我的意思是列完全相同。 id类似于myGrid1,myGrid2,myGrid3,myGrid4 ..... myGrid10。 现在我想一次遍历所有datagridview。

string prodName = "";
  for (int i = 1; i <= 10; i++)
      {
             foreach (DataGridViewRow dr in myGrid[i].Rows)
             {
              prodName += dr.Cells["ProductName"].Value
             }
      }

但myGrid [i]显然不存在。 我可以单独循环每个datagridview,但有没有简单的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

希望这有帮助。

foreach (Control x in this.Controls)
{
    if (x is DataGridView)
    {

        foreach (DataGridViewRow dr in (DataGridView(x)).Rows)
        {
            prodName += dr.Cells["ProductName"].Value
        }
    }
}

foreach ( DataGridView dgv in this.Controls.OfType<DataGridView>()) 
{
    foreach (DataGridViewRow dr in dgv.Rows)
    {
        prodName += dr.Cells["ProductName"].Value
    }
}