我的winform的datagridview里有带了checkbox(每条数据后面都带有checkbox) 我想实现 点击其中一些checkbox 点击删除按钮 然后这些选中的记录就被删除了 我这样说能理解吗?大致就是这样
这是我瞎写的 不知怎么写 高手来指导一下
private void btnDelectCourse_Click(object sender, EventArgs e)
{
for (int i = 0; i < dgvSelectCourse.Rows.Count - 1; i++)
{
CheckBox cb = (CheckBox)dgvSelectCourse.
if (cb.Checked == true)
{
MessageBox.Show(cb.ToString());
}
}
}
这是我瞎写的 不知怎么写 高手来指导一下
private void btnDelectCourse_Click(object sender, EventArgs e)
{
for (int i = 0; i < dgvSelectCourse.Rows.Count - 1; i++)
{
CheckBox cb = (CheckBox)dgvSelectCourse.
if (cb.Checked == true)
{
MessageBox.Show(cb.ToString());
}
}
}
for (int i = 0; i < GridView1.Rows.Count; i++)
{
if (GridView1.Rows[i].Cells["CheckBox那列的名称"].Value.ToString() == "1")//设置CheckBox选中的值为1
{ int ID = Convert.ToInt32(grv_SPSX.Rows[rowIndex].Cells["ID"].Value);//得到主键
//删除操作
}
}
方法二:
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1) //假设列1为checkbox列
{
bool x = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
} }
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0)
return; if (e.ColumnIndex == 0) //假设列0为checkbox列
{
bool x =(bool) dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
if (x)
{
dataGridView1.Rows.RemoveAt(e.RowIndex);
}
} }
{
if (dataGridView1.Rows[i].Cells["checkBox所在列名"].EditedFormattedValue.ToString() == "True")
{
//执行你的删除操作
}
}