Now we look how to add template button in GridView.
first select Edit Columns in GridView.
2nd add template column in GridView.
Now configuring template column, Click Edit Template. Place a LinkButton on Template field. Click Edit Databindings , then select CommandArgument , after that set field binding, bound to "ID" field, this ID field is used to delete data in server side code. Then press ok button.
Now we can configure LinkButton [ Delete button ].
Select Property of Link button. set CommandName and Text as Delete.
We can access this CommandName in GridView1_RowCommand event. After this add GridView events GridView1_RowCommand and GridView1_RowDeleted
The RowDeleted event is raised whenever a Delete button associated with an item in the GridView control is clicked, but after the GridView control deletes the record.
This allows you to provide an event-handling method that performs a custom routine, such as checking the results of a delete operation, whenever this event occurs. To avoid errors we add one custom code in GridView1_RowDeleted event
//handling gridview delete excetion e.ExceptionHandled = true;
Now the server side part.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default3 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e) { //handling gridview delete excetion e.ExceptionHandled = true; } protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "dele") { //database Helper DBHelper objDBHelper = new DBHelper(); //sql command to delete data from database string sqlCmdText = string.Format("DELETE FROM Table WHERE ID='{0}'", e.CommandArgument.ToString()); //Executeing sql command objDBHelper.ExecuteScalar(sqlCmdText); //refresh gridview GridView1.DataBind(); } } }
ASPX Page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" onrowcommand="GridView1_RowCommand" onrowdeleted="GridView1_RowDeleted"> <Columns> <asp:BoundField DataField="biInvitationId" HeaderText="biInvitationId" InsertVisible="False" ReadOnly="True" SortExpression="biInvitationId" /> <asp:BoundField DataField="biEventName" HeaderText="biEventName" SortExpression="biEventName" /> <asp:BoundField DataField="biHostName" HeaderText="biHostName" SortExpression="biHostName" /> <asp:BoundField DataField="biTelephone" HeaderText="biTelephone" SortExpression="biTelephone" /> <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("biInvitationId") %>' CommandName="dele">Delete</asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server"> </asp:SqlDataSource> </div> </form> </body> </html>
Thank you,
Feel free to comment.
.