循环多个datagridview

本文关键字:datagridview 循环 | 更新日期: 2023-09-27 18:17:42

在我的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分开,但有什么简单的方法来做到这一点?

循环多个datagridview

希望这对你有帮助。

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