-->

Thursday, May 28, 2015

How to delete row of Gridview using Link button in ASP.NET C#

How to delete row of Gridview using Link button in ASP.NET C#

Good morning friends, I have covered many article on Gridview binding. Today i am talking about Gridview with link button.In this article we will do something different like delete row when we press the delete link button. To do this task, first to design the Gridview with link button after that perform some operation on link button.


Source Code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
<script>
function ConfirmationBox(countryname) {

var finalresult = confirm('Are you sure you want to delete' + countryname + 'details');
if (finalresult) {
return true;

}
else {
return false;
}
}

</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="CountryId" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="CountryId" HeaderText="Country Id" />
<asp:BoundField DataField="CountryName" HeaderText="Country Name" />
<asp:TemplateField HeaderText="delete">
<ItemTemplate>

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Delete Country</asp:LinkButton>

</ItemTemplate>

</asp:TemplateField>
</Columns>
</asp:GridView>
    </div>
    </form>
<p>
&nbsp;</p>
</body>
</html>

In the above mentioned code we have a script block which is used for giving confirmation message  when we click on link button. Also we have a Gridview with three column , first two starting columns bind with the country table, in the  third column we have a delete link button.


CodeBehind Code

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3 : System.Web.UI.Page
{
    SqlConnection con;
    SqlCommand cmd;
    DataSet ds;

    public Default3()
    {
        con = new SqlConnection();
        con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
        cmd = new SqlCommand();
        ds = new DataSet();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            bindgridview();
        }
    }

    private void bindgridview()
    {
        con.Open();
        cmd.CommandText = "select * from [country]";
        cmd.Connection = con;
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        con.Close();
        GridView1.DataSource = ds;
        GridView1.DataBind(); 
    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if(e.Row.RowType==DataControlRowType.DataRow)
        {
            string countryname = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "CountryName"));
            LinkButton lnkbutton = (LinkButton)e.Row.FindControl("LinkButton1");
            lnkbutton.Attributes.Add("onclick", "JavaScript:return ConfirmationBox('" + countryname + "')");
        }

    }

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        LinkButton lnk = sender as LinkButton;
        GridViewRow gridrow = lnk.NamingContainer as GridViewRow;
        int countryid = Convert.ToInt32(GridView1.DataKeys[gridrow.RowIndex].Value.ToString());
        con.Open();
        cmd.CommandText = "delete from [country] where CountryId=" + countryid;
        cmd.Connection = con;
        int a = cmd.ExecuteNonQuery();
        con.Close();
        if(a>0)
        {
            bindgridview();
        }
    }
}
Output of the following mentioned code


How to delete row of Gridview using Link button in ASP.NET C#


 In the above mentioned code, first to bind the gridview with the DataSet. By the RowDataBound event we have to generate confirmation message using java script. So first of all get the country name by the eval method. Also get the link button from Gridview using findControl( ) method. Now you can call javaScript method on LinkButton

By the help of link button event handler we are deleting the row from the Gridview which is mentioned in the code. So first of all get the countryid from the binded gridview then execute delete statement.

Read other related articles

Also read other articles

© Copyright 2013 Computer Programming | All Right Reserved