c# dategridview勾选框
时间: 2023-08-24 20:06:16 浏览: 106
要在 C# DataGridView 中添加勾选框,请按照以下步骤操作:
1. 在 DataGridView 中添加一个列,列类型为 DataGridViewCheckBoxColumn。
2. 在 DataGridView 中绑定数据源。
3. 在 DataGridView 中设置 DataGridViewCheckBoxColumn 的 DataPropertyName 属性为数据源中表示该列的属性的名称。
4. 在 DataGridView 的 CellContentClick 事件中添加代码,以便在单击 DataGridViewCheckBoxColumn 中的单元格时更新数据源中的值。
以下是一个示例代码:
```csharp
// 添加 DataGridViewCheckBoxColumn 列
DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
checkBoxColumn.HeaderText = "选中";
checkBoxColumn.Name = "checkBoxColumn";
dataGridView1.Columns.Insert(0, checkBoxColumn);
// 绑定数据源
List<MyData> dataList = GetDataList();
dataGridView1.DataSource = dataList;
// 设置 DataPropertyName 属性
checkBoxColumn.DataPropertyName = "Selected";
// CellContentClick 事件处理程序
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex >= 0)
{
DataGridViewCheckBoxCell cell = (DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex].Cells["checkBoxColumn"];
cell.Value = !(bool)cell.Value;
dataGridView1.EndEdit();
}
}
// 数据源
public class MyData
{
public bool Selected { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
private List<MyData> GetDataList()
{
List<MyData> dataList = new List<MyData>();
dataList.Add(new MyData() { Selected = false, Name = "张三", Age = 20 });
dataList.Add(new MyData() { Selected = true, Name = "李四", Age = 25 });
dataList.Add(new MyData() { Selected = false, Name = "王五", Age = 30 });
return dataList;
}
```
阅读全文