将Selected DataGridView列设置为true

时间:2015-08-03 13:15:48

标签: c# winforms checkbox datagridview

我无法弄清楚如何解决这个问题,尽管它应该非常简单。我有一个DataGridView,其中一列包含CheckBoxes。现在我循环遍历所有选定的行,并希望将CheckBox变为true,这当前在我的循环中,但不知何故,他只是将一个变为true,这是首先选择的。

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
 dataGridView1.SelectedRows[dataGridView1.CurrentRow.Index].Cells[0].Value = true;
}

我也尝试了其他解决方案,但我无法解决问题。对不起,这个问题应该太简单了!

2 个答案:

答案 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;