将复选框添加到DataGridView并选中/取消选中它们

时间:2011-12-29 12:16:02

标签: c# .net winforms datagridview checkbox

我想在DataGridView的每一行添加一个复选框。 DataGridView将动态填充,填充后应该有一个名为“Select”的新列,该列应包含Checkboxes。

我使用了这段代码,但它没有用。

DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn();
clsCol1.HeaderText = "Select";
clsCol1.ValueType = typeof(System.String);
this.dataGridView1.Columns.Add(clsCol1);

我也试过这段代码

dataGridView1.Columns.Clear(); DataGridViewCheckBoxColumn c = new DataGridViewCheckBoxColumn();
{
    column.HeaderText = "Selected";
    column.Name = "Selected";
    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
    column.FlatStyle = FlatStyle.Standard;
    column.ThreeState = false;
    column.CellTemplate = new DataGridViewCheckBoxCell();
    column.CellTemplate.Style.BackColor = Color.Beige;
}
dataGridView1.Columns.Insert(0, column)

填充DataGridView后,我想制作两个按钮来检查所有内容并取消选中所有复选框。

我对C#缺乏经验,所以任何答案都会非常感激。

1 个答案:

答案 0 :(得分:1)

在CheckBox的CheckChanged event上,您需要选择/取消选择所有

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    dataGridView1.Rows[i].Cells["CheckBoxColumnName"].Value = chkSelectAll.Checked;
}

之后,如果未选中DataGridView的一行,您可能需要考虑取消选中SelectAll CheckBox