【问题标题】:Loop through multiple datagridview循环遍历多个datagridview
【发布时间】:2016-11-14 09:05:06
【问题描述】:

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

【问题讨论】:

  • var grid = this.Controls.Find(string.Format("myGrid{0}", i), true).FirstOrDefault() as DataGridView;
  • foreach(grid.Rows 中的 DataGridViewRow dr)不起作用
  • 关注演员阵容:as DataGridView
  • DataGridView grid = (DataGridView)this.Controls.Find(string.Format("myGrid{0}", i), true).FirstOrDefault();
  • 是的,行得通。谢谢

标签: c# winforms datagridview


【解决方案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
    }
}

【讨论】:

    猜你喜欢
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多