Multiple Row Deletion From GRIDVIEW

Share on TwitterShare on TumblrSubmit to StumbleUponSave on DeliciousDigg This

Hi in this article iam going to show how to delete multiple rows in a gridview. In this i made more simpler by accessing SQL DataSource .





Introduction :

Generally using a GridView we can delete only a single row but in this article I’m going explain how to delete multiple rows using a single button click in an easiest way. I use Sql data source to make my job simpler.


STEP 1 : Create a Web Application from Visual Studio .
STEP 2 : Copy the code given below as Default.aspx
STEP 2 : The Default.aspx page is included with the Gridview, Button and the SqlDataSource
STEP 3 : Now copy Default.aspx.cs code.
STEP 4 : That’s it now run and enjoy the gridview with multiple delete.



First the Default.aspx looks like this  :







Here now a user can check the records he wanted to delete and click the Delete Rows Button







Now a popup window arrises , actually here in my example I checked records with serial number 3,4,5 so now if select ok in that prompt window ,all the 3 records will be deleted .

That can be seen this way :









My code part comprises of 3 files they are


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" >
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript" language="javascript">
function DeleteConfirmation()
if (confirm("Are you sure you want to delete selected records ?")==true)
return true;
return false;
<form id="form1" runat="server">
<div><center><br /><h1>MULTIPLE ROW DELETE</h1><br /><br /><asp:GridView BackColor="Azure" AlternatingRowStyle-BackColor="AliceBlue" ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"DataSourceID="SqlDataSource1">
<asp:TemplateField HeaderStyle-BackColor="Orange" HeaderText="CHECK TO DELETE">
<asp:CheckBox ID="chkRows" runat="server"/>
<asp:BoundField HeaderStyle-BackColor="Orange" DataField="ProductID" HeaderText="ProductID" ReadOnly="True" SortExpression="ProductID" />
<asp:BoundField HeaderStyle-BackColor="Orange" DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" /><asp:BoundField HeaderStyle-BackColor="Orange" DataField="UnitPrice" HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField HeaderStyle-BackColor="Orange" DataField="Rating" HeaderText="Rating" SortExpression="Rating" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:srikanthchConnectionString %>"
SelectCommand="SELECT * FROM [muldel]"
DeleteCommand="DELETE FROM muldel WHERE [ProductID] = @ProductID">
<asp:Parameter Name="ProductID" />
</asp:SqlDataSource><br /><br />
<center> <asp:Button 
ID="btnMultipleRowDelete" BackColor="Orange"
OnClick="btnMultipleRowDelete_Click" OnClientClick="return DeleteConfirmation();"
Text="Delete Rows" /></center>


 Now the Default.aspx.cs


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page 
protected void Page_Load(object sender, EventArgs e)
protected void btnMultipleRowDelete_Click(object sender, EventArgs e)
// Looping through all the rows in the GridView
foreach (GridViewRow row in GridView1.Rows)
CheckBox checkbox = (CheckBox)row.FindControl("chkRows");
//Check if the checkbox is checked.
//value in the HtmlInputCheckBox's Value property is set as the 
//value of the delete command's parameter.
if (checkbox.Checked)
// Retreive the Product ID
int productID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
// Pass the value of the selected Product ID to the Delete
SqlDataSource1.DeleteParameters["ProductID"].DefaultValue = productID.ToString();


 Now the Web.Config file ( For Connection String)


 <?xml version="1.0"?>




<add name="srikanthchConnectionString" connectionString="Data Source=USER-182;Initial Catalog=srikanthch;Persist Security Info=True;User ID=sa;Password=007" providerName="System.Data.SqlClient"/>



<compilation debug="true" targetFramework="4.0"/>

<authentication mode="Windows"/>

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>



Conclusion :

By this way we could able to delete multiple rows in a GridView using a SqlDataSource.