In this blog we will know how to delete multiple row by selecting checkbox on Data Gridview.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace Delete_row_checkbox__DataGridview
{
public partial class Form1 : Form
{
OleDbDataAdapter oledbda;
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["dsn"];
string str;
OleDbCommand com;
public Form1()
{
InitializeComponent();
}
private void btn_delete_Click(object sender, EventArgs e)
{
int i = 0;
List<int> ChkedRow = new List<int>();
for (i = 0; i <= dataGridView1.RowCount - 1; i++)
{
if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["chkcol"].Value) == true)
{
ChkedRow.Add(i);
}
}
if (ChkedRow.Count == 0)
{
MessageBox.Show("Select one checkbox");
return;
}
foreach (int j in ChkedRow)
{
str =
"Delete from test where Did='" + dataGridView1.Rows[j].Cells["Did"].Value +"'";
try
{
using (OleDbConnection con = new OleDbConnection(ConnectionString))
{
using (com = new OleDbCommand(str, con))
{
con.Open();
com.ExecuteNonQuery();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
MessageBox.Show("Are you sure you want to delete this Record?", "Confirm deletion",MessageBoxButtons.OK);
bindgrid();
}
private void bindgrid()
{
dataGridView1.AllowUserToAddRows =
false;
dataGridView1.Columns.Clear();
DataGridViewCheckBoxColumn col1 = new DataGridViewCheckBoxColumn();
col1.Name =
"chkcol";
col1.HeaderText =
"CheckBox";
dataGridView1.Columns.Add(col1);
OleDbConnection con = new OleDbConnection(ConnectionString);
con.Open();
str =
"select * from test ";
com =
new OleDbCommand(str, con);
oledbda =
new OleDbDataAdapter(com);
DataSet ds = new DataSet();
oledbda.Fill(ds,
"test");
dataGridView1.DataMember =
"test";
dataGridView1.DataSource = ds;
}
private void Form1_Load(object sender, EventArgs e)
{
bindgrid();
}
}
}