WinForm DataGridView根据选中的复选框删除

Posted ZHANGKAIXUAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm DataGridView根据选中的复选框删除相关的知识,希望对你有一定的参考价值。

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

 

 

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

以上是关于WinForm DataGridView根据选中的复选框删除的主要内容,如果未能解决你的问题,请参考以下文章

C# winform中,怎样dataGridView1选中一行access数据,然后再textbox中显示

winform datagridview怎么选中多行

winform中datagridview 选中行操作的问题

winform c# Datagridview 选中行 急!!!

winform中datagridview怎么添加行之后将焦点选中在新添加的行?

请问c# 的winform 怎么获取 datagridview选中的行数和列数啊