c# DataGridViewCheckBoxColumn的问题,如何删除DataGridView里被选中的项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# DataGridViewCheckBoxColumn的问题,如何删除DataGridView里被选中的项?相关的知识,希望对你有一定的参考价值。

c# DataGridViewCheckBoxColumn的问题,如何删除DataGridView里被选中的项?,就是那个方框,我将我需要删除的项目前选中,再按删除键 删除选中的项,该怎么做?
如何获取DataGridViewCheckBoxColumn 里面勾选的值并在按钮里执行删除?

foreach(DataGridViewRow row in this.dataGridView1.Rows)
if(row.Cells[1].Value!=null && Convert.ToBoolean(cell.Cells[1].Value)==true)
this.dataGridView1.Rows.Remove(row);


其中foreach循环遍历DataGridView每行,并查找单元格控件类型为DataGridViewCheckBoxColumn
的控件列的值,是true的,从DataGridView中删除。追问

这样倒是直接把表行删除了
那我链接数据库同时删除数据库里的怎么操作?

追答

看到我foreach循环括号中的参数row了么?那是DataGridView中的每一行啊。通过
row.Cells[index].Value这种方式是可以获得这一行中的任意单元格中的内容的啊,
你在if条件中获得主键列的值拼接SQL语句就可以实现在数据库中删除了啊。因为
此时删除的一定是你选中为真的行才会被删嘛

参考技术A for (int i = 0; i <dataGridView1.RowCount; i++)

if (dataGridView1.Rows[i].Cells["Column1"].EditedFormattedValue.ToString() == "True")

this.dataGridView1.Rows.Remove(dataGridView1.SelectedRows[0]);


这样就OK了
参考技术B 有两种方法:
1 调用DataGridView的属性,删除行。参考:
http://www.cnblogs.com/jxsoft/archive/2011/05/06/2038952.html
2 在复选框选择事件中直接删除DataGridView的数据源中的对应行,然后在重新绑定。

以上是关于c# DataGridViewCheckBoxColumn的问题,如何删除DataGridView里被选中的项?的主要内容,如果未能解决你的问题,请参考以下文章

C#进阶C# 泛型

C#进阶C# 匿名方法

C#进阶C# 多线程

C# 教程

[C#教程01]C# 简介

用 C# 编写 C# 编译器,先有鸡还是先有蛋?