在我的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,但有没有简单的方法来做到这一点?
答案 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
}
}