我无法弄清楚如何解决这个问题,尽管它应该非常简单。我有一个DataGridView,其中一列包含CheckBoxes。现在我循环遍历所有选定的行,并希望将CheckBox变为true,这当前在我的循环中,但不知何故,他只是将一个变为true,这是首先选择的。
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
dataGridView1.SelectedRows[dataGridView1.CurrentRow.Index].Cells[0].Value = true;
}
我也尝试了其他解决方案,但我无法解决问题。对不起,这个问题应该太简单了!
答案 0 :(得分:4)
您应该在循环中声明的变量上设置值,如下所示:
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
row.Cells[0].Value = true;
}
dataGridView1.SelectedRows [dataGridView1.CurrentRow.Index]将始终返回相同的行,因为CurrentRow不会在循环中更改。
答案 1 :(得分:1)
问题似乎是
dataGridView1.SelectedRows[dataGridView1.CurrentRow.Index].Cells[0].Value = true;
它只能选择" currentrow"
当然你的意思是
row.Cells[0].Value = true;