这个有多种做法,但我这里只列出一种。
首先设置一下DataGridViewCheckBoxColumn中的FalseValue为0,TrueValue为1.
设置好后,我们可以根据当前DataGridViewCheckBoxCell的Value来设置或获取他是否选中。
如果把DataGridViewCheckBoxCell的Value设置为1.那么他就会变成选中状态。
如果把DataGridViewCheckBoxCell的Value设置为0,那么他就取消选中。
同时也可以遍历所有行。来通过DataGridViewCheckBoxCell的Value是否为1进行判断是否选中。
举一例:
设置选中:
DataGridViewCheckBoxCell checkBox = (DataGridViewCheckBoxCell)this.dataGridView1.Rows[0].Cells[0];
checkBox.Value = 1;//选中第一行第一列,因为checkboxcell是在第一列的。
checkBox.Value=0;//取消选中第一行第一列。
private void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1)
{
for (int i = 0; i < this.dataGridView1.RowCount; i++)
{
if (this.dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString() == "True")//或者=="False"
{
this.dataGridView1.Rows[i].Cells[0].Value = false;
}
else
{
this.dataGridView1.Rows[i].Cells[0].Value = true;
}
}
}
}
新建一个模板列,在模板列中拉入checkbox控件,将控件的属性值绑定为单号,在RowCommand事件中响应操作