Click here to Skip to main content
15,867,686 members
Articles / Programming Languages / C#

Add column for delete in GridView with confirmation box

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
25 Jun 2007CPOL 53K   475   14   3
In this article, we will add a column for delete in GridView, with an image button and confirmation.

Introduction

In this article, we will see how to add and delete columns in a GridView, with an image button and a confirmation box.

Background

This article is an extension of my previous article: Event handling in Gridview User Control. I am extending the same project for this article.

Using the Code

  1. In the article Event handling in Gridview User Control, we created an event handler for RowDataBound. In this article, we are adding one more event handler for RowCommand. Use the same procedure to define the event.
  2. C#
    protected void Simple_DGV_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        OnRowCommand(e);
    }
    
    protected void OnRowCommand(GridViewCommandEventArgs e)
    {
        if (GridRowCommand != null)
            GridRowCommand(this, e);}
  3. Define the delegates for the event.
  4. C#
    public delegate void RowCommand(object sender, GridViewCommandEventArgs e);
    public event RowCommand GridRowCommand;
  5. Add an event handler for RowDataBound in the parent page.
  6. In the parent page, add a blank boundfield column in the GridView.
  7. C#
    BoundField b2 = new BoundField();
    Inc_GridView1.Columns.Add(b2);//blank column to add delete image
  8. Now in the RowDataBound event, add an image button in the blank column.
  9. C#
    void Inc_GridView1_GridRowDataBound(object sender, GridViewRowEventArgs e)
    {
    	if (e.Row.RowType == DataControlRowType.DataRow)
    	{
    		int x = Inc_GridView1.Columns.Count - 1;
    		// it will give blank column index
    
    		ImageButton img1 = new ImageButton();
    		img1.ID = "img1";
    		img1.ToolTip = "Delete";
    		img1.ImageUrl = "icons-del.gif";
    		e.Row.Cells[x].Controls.Add(img1);
    
    		ImageButton img2 = new ImageButton();
    		img2 = (ImageButton)e.Row.Cells[x].Controls[0];
    		img2.CommandName = "Delete"; 
    		img2.CommandArgument = 
    		     DataBinder.Eval(e.Row.DataItem, "c").ToString();
    		// argument to pass for delete command
    
    		// it will give confirmation on button click
    		img2.OnClientClick = 
    		     "return confirm('Do you want to delete this Record?');";
    	}
    }
  10. Now add code for handling the delete functionality:
  11. C#
    void Inc_GridView1_GridRowCommand(object sender, GridViewCommandEventArgs e)
    {
    	if (e.CommandName == "Delete")
    	{
    		int param = Convert.ToInt32(e.CommandArgument);
    		//function to delete row
    	}
    }

That's all.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
India India
Working as software developer from last 3 year.
I am handling Windows,Web Application with C# (Visual studio 2005) and SQL server 2005. I am MCTS - Web Application 2.0 and MCPD - Web developer.

Comments and Discussions

 
GeneralBugs etc. Pin
ploxis10-Jul-07 2:45
ploxis10-Jul-07 2:45 
GeneralRe: Bugs etc. Pin
Aaron Dutton22-Aug-07 7:17
Aaron Dutton22-Aug-07 7:17 
GeneralThanks Pin
ryanoc33326-Jun-07 5:10
ryanoc33326-Jun-07 5:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.