注意:在DataGridView添加一列(name:delete),ColumnType属性为:DataGridViewCheckBoxColumn,FlaseValue属性为:Flase,TureValue属性为Ture,并设置DataGridView的ReadOnly属性为Flase。

  1. //删除
  2. private void del_button_Click(object sender, EventArgs e)
  3. {
  4. try
  5. {
  6. int count = 0;
  7. for (int i = 0; i < form_dataGridView.RowCount; i++)
  8. {
  9. if (form_dataGridView.Rows[i].Cells[8].EditedFormattedValue.ToString() == "True")
  10. {
  11. count++;
  12. }
  13. }
  14. if (count == 0)
  15. {
  16. MessageBox.Show("请至少选择一条数据!", "提示");
  17. return;
  18. }
  19. else
  20. {
  21. if (MessageBox.Show(this, "共选择" + count + "条,你要删除这些数据吗?", "提         示", MessageBoxButtons.YesNo, MessageBoxIcon.Information).ToString() == "Yes")
  22. {
  23. string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
  24. OleDbConnection conn = new OleDbConnection(connStr);
  25. conn.Open();
  26. string str = "(";
  27. for (int i = 0; i < form_dataGridView.RowCount; i++)
  28. {
  29. if (form_dataGridView.Rows[i].Cells[8].EditedFormattedValue.ToString() == "True")
  30. {
  31. str += form_dataGridView.Rows[i].Cells[0].Value.ToString() + ",";
  32. }
  33. }
  34. if (str.Length > 0)
  35. {
  36. str = str.Substring(0, str.Length - 1);
  37. str += ")";
  38. MessageBox.Show(str);
  39. }
  40. string sql = "delete from form where id in " + str;
  41. OleDbCommand cmd = new OleDbCommand(sql, conn);
  42. cmd.ExecuteNonQuery();
  43. conn.Close();
  44. MessageBox.Show("删除成功");
  45. GetData();//引用事件,刷新数据
  46. }
  47. else
  48. {
  49. return;
  50. }
  51. }
  52. }
  53. catch
  54. {
  55. }
  56. }

WinForm DataGridView根据选中的复选框删除的更多相关文章

  1. 选中没有选中的复选框,匹配含有某个字符串的正则,json取值的两种方法,把变量定义在外面跟里面的区别

    一.筛选没有选中的复选框:not("input:checked") 二.匹配有VARCHAR的字符串:".*VARCHAR.*?" 三.json取值的两种方法 ...

  2. js根据选中的复选框,隐藏那一行

    如图,选择复选框,点击“隐藏”按钮,隐藏选中行 1.JavaScript代码: function getCheckedIds() { var checkedSubject = $('#showSbgl ...

  3. bootstrap table 复选框选中后,翻页不影响已选中的复选框

    使用的 jquery版本为 2.1.1 在项目中发现bootstrap table的复选框选中后,翻页操作会导致上一页选中的丢失,api中的 bootstrapTable('getSelections ...

  4. easyui datagrid 通过复选框删除新追加的数据问题

    之前写好的功能在保存好数据后再通过复选框删除是没有问题的,可现在想多追加几行,然后选择删除新追加的某几行或一行,通过$('#dg').datagrid('getChecked')方法返回选中行,然而返 ...

  5. jQuery分别获取选中的复选框值

    function jqchk(){  //jquery获取复选框值   var s='';   $('input[name="aihao"]:checked').each(func ...

  6. element表格点击行即选中该行复选框

    关键代码如下 <el-table ref="multipleTable" :data="tableData" highlight-current-row ...

  7. 设置checkbox不能选中,复选框不能选中

    Web开发:设置复选框的只读效果 在Web开发中,有时候需要显示一些复选框(checkbox),表明这个地方是可以进行勾选操作的,但是有时候是只想告知用户"这个地方是可以进行勾选操作的&qu ...

  8. ztree点击节点实现选中/取消复选框

    效果 代码 在js中初始化tree时 设置复选框操作只影响子节点 复选框事件,想怎么处理就怎么处理

  9. DevExpress gridcontrol添加了复选框删除选中的多行/批量删除的方法

    思路:遍历gridView1的每一行,该行中checkbox列被勾选则设置该行为选中状态,执行gridView1提供的DeleteSelectedRows方法则可 public void DoDele ...

随机推荐

  1. code of C/C++(3) - 从 《Accelerated C++》源码学习句柄类

    0  C++中多态的概念 多态是指通过基类的指针或者引用,利用虚函数机制,在运行时确定对象的类型,并且确定程序的编程策略,这是OOP思想的核心之一.多态使得一个对象具有多个对象的属性.class Co ...

  2. Socket Receive 避免 Blocking

    我们知道 Socket Blocking 属性默认true . 表明Socket 处于同步调用 , Connect , 或 Send , Receive 需等待动作 完成才能继续执行. 有一种应用场景 ...

  3. iOS程序启动过程

    First, the function creates the main application object (step 3 in the flowchart). If you specify ni ...

  4. Manjaro mirror in china

    1, mirrot file: /etc/pacman.d/mirrorlist Server = http://mirrors.ustc.edu.cn/manjaro/stable/$repo/$a ...

  5. hibernate 连接oracle数据库的配置 (参考)

    <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC          &qu ...

  6. java之ubuntu12.04 开发环境配制

    配置java开发环境,即安装jdk: 1.配置环境变量 ,更改/etc/profile文件:sudo gedit /etc/profile; 在文件最后加上如下几行(其实跟windows下的配置原理一 ...

  7. 我创建了一个网站,专门分享公众号的文章 https://asyons.com

    网址:https://asyons.com/,为做个网站,自娱自乐的自明星,但投资也挺大的了,注册了一家公司,公财私章,做账报税,阿里云服务器,全职开发.算上时间价值,按小时,投资过5万了.

  8. Python开发入门与实战17-新浪云部署

    17. 新浪云部署 上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上. 本章章节我们描述如何 ...

  9. GoLang 通过http Post获取数据

    func GetPostResponse(url, bodyType string, body *[]byte) (rdata []byte, err error) { b := bytes.NewB ...

  10. 用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库

    #该脚本可以提取沪深两市上市公司股票信息,并按以下信息分类:(1)当天股价创近10个交易日新高的股票:(2)停牌的股票:(3)复牌不超过一个交易日或者新发行的股票 #将分类后的股票及其信息(股价新高. ...