目标:
一、选中全选这个复选框,会选中第一列所有的复选框
拉过来一个CheckBox控件(CheckBox1)覆盖在第一列的标题上,文本值:全选
方法:双击上面拉的CheckBox控件,进入其事件
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
int count = dataGridView1.Rows.Count;
for (int i = ; i < count; i++)
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[];
Boolean flag = Convert.ToBoolean(checkCell.Value);
if (flag == false)
{
checkCell.Value = true;
}
else
{
continue;
}
}
}
即可实现:
取被选中的那一行的某列的值:
string aaa= "";
int count = dataGridView1.Rows.Count;
for (int i = ; i < count; i++)
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[];
Boolean flag = Convert.ToBoolean(checkCell.Value);
if (flag == true)
{
aaa= this.dataGridView1.Rows[i].Cells[].Value.ToString();
}
}
这就是取被选中的那一行的第三列的值
目标:
二、取消所有选中的复选框,CheckBox1未选中的情况下,取消第一列所有已选中的
方法:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
int count = dataGridView1.Rows.Count;
for (int i = ; i < count; i++)
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[];
Boolean flag = Convert.ToBoolean(checkCell.Value);
if (flag == false)
{
checkCell.Value = true;
}
else
{
continue;
}
}
}
else
{
int count = dataGridView1.Rows.Count;
for (int i = ; i < count; i++)
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[];
Boolean flag = Convert.ToBoolean(checkCell.Value);
if (flag == true)
{
checkCell.Value = false;
}
else
{
continue;
}
} } }