c# dataGridView的checkbox列实现全选
时间: 2024-02-28 21:52:46 浏览: 22
要实现 DataGridView 中的 checkbox 列实现全选功能,可以按照以下步骤进行:
1. 在 DataGridView 中添加一个 checkbox 列,并设置其 DataPropertyName 属性为数据集中对应的列名。
2. 在 DataGridView 的 DataBindingComplete 事件中,添加以下代码:
```
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
// 添加全选 checkbox
DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
checkBoxColumn.HeaderText = "全选";
checkBoxColumn.Name = "checkAll";
dataGridView1.Columns.Insert(0, checkBoxColumn);
// 设置全选 checkbox 状态
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Cells["checkAll"].Value = false;
}
}
```
3. 在全选 checkbox 的 CellContentClick 事件中,添加以下代码:
```
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == 0)
{
bool checkAll = (bool)dataGridView1.Rows[e.RowIndex].Cells["checkAll"].Value;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Cells["checkboxColumnName"].Value = checkAll;
}
}
}
```
其中,"checkboxColumnName" 是 checkbox 列对应的列名。
这样,当点击全选 checkbox 时,所有的 checkbox 列都会被选中或取消选中。