Monday 28 November 2011

Edit,update and delete in gridview

Here first I created a table name 'emp' in my database.it contains 3 colomns as id,name,marks,I am creating this colomns in gridview as follows:


01<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Style="z-index: 100;left: 298px; position: absolute; top: 118px">
02<Columns >
03<asp:TemplateField HeaderText ="IDNO">
04<ItemTemplate>
05<asp:LabelID="lblid"runat="server"Text='<%#Eval("rowid")%>'></asp:Labe>
06</ItemTemplate>
07</asp:TemplateField>    

 
08 <asp:TemplateField HeaderText="Name" >
09<ItemTemplate > <%#Eval("name") %></ItemTemplate>
10</asp:TemplateField>
11<asp:TemplateField HeaderText ="Marks">
12<ItemTemplate><%#Eval("marks") %></ItemTemplate>
13</asp:TemplateField>
14          
15</Columns>
16</asp:GridView>


In default.asp.cs page fill the gridview using SqlDataAdapter using below code:
      
1SqlDataAdapter da = new SqlDataAdapter("select * from emp", conn);
2       DataSet ds = new DataSet();
3       da.Fill(ds, "emp");
4       GridView1.DataSource = ds.Tables[0];
5       GridView1.DataBind();
6       conn.Close();

Next in Default.asp page select your gridview in Properties set AutoGenarateDeleteButton=True and AutoGenarateEditButton=True.

 


Next we have to write a code for editing,updating,cancel:In Default.aspx source code we have to add <EditItemTemplate>
This <EditItemTemplate> is used to Edit the Row in Gridview.Here I am going to Edit only two columns name and marks.




For Editing a Gridview:

 
In Gridview Events:Double Click on RowEditing Event and write below code

1protected void GridView1_RowEditing(object sender,GridViewEditEventArgs e)
2    {
3        GridView1.EditIndex = e.NewEditIndex;
4        bind();
5        
6    }
When you click on Edit link it shows Update,Cancel links




For Updating a Gridview:

Updating link is used to update a Particular row in emp table using Gridview.

Double click on RowUpdating Event and write below code
01protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
02    {
03        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
04        Label lbl = (Label)row.FindControl("lblid");
05        TextBox textname = (TextBox)row.FindControl("textbox1");
06        TextBox textmarks = (TextBox)row.FindControl("textbox2");
07       
08        GridView1.EditIndex = -1;
09        conn.Open();
10        SqlCommand cmd = new SqlCommand("update  emp set marks=" + textmarks.Text + " , name='" + textname.Text + "' where rowid=" + lbl.Text + "", conn);
11      
12        cmd.ExecuteNonQuery();
13        conn.Close();
14        bind();
15       
16  
17    }


 For Canceling a gridview row Operation:

Cancel Link in used to cancel the particular row operation before upadating.when you click on Gricview it goes in first stage.

Double click on RowCancelingEdit Event and wrtie belwo code

1protected void GridView1_RowCancelingEdit(object sender,GridViewCancelEditEventArgs e)
2    {
3        GridView1.EditIndex = -1;
4        bind();
5    }

For Deleting a Gridview row:
Delete Link is used to delete a Row in a emp table.it permanently deletes a particular Row From GridView

Double Click on RowDeleting Event and write below code

01protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
02    {
03        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
04        Label lbldeleteID = (Label)row.FindControl("lblid");
05        conn.Open();
06        SqlCommand cmd = new SqlCommand("delete  emp where rowid=" + lbldeleteID.Text + "", conn);
07        cmd.ExecuteNonQuery();
08        conn.Close();
09        bind();
10    }

The Complete code is written as follows:


01<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
02
03<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04
05<html xmlns="http://www.w3.org/1999/xhtml" >
06<head runat="server">
07    <title>Untitled Page</title>
08</head>
09<body>
10    <form id="form1" runat="server">
11    <div>
12        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Style="z-index: 100;
13            left: 298px; position: absolute; top: 118px" AllowSorting="True" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit"  OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_RowDeleting" BackColor="#FF8080" BorderColor="SaddleBrown" BorderStyle="None" CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="5">
14            <Columns >
15            <asp:TemplateField HeaderText ="IDNO"><ItemTemplate ><asp:Label ID="lblid" runat ="server" Text ='<%#Eval("rowid") %>' ></asp:Label></ItemTemplate></asp:TemplateField>
16             
17            <asp:TemplateField HeaderText="Name" ><ItemTemplate > <%#Eval("name") %></ItemTemplate>
18            <EditItemTemplate >
19            <asp:TextBox ID="textbox1" runat ="server" Text ='<%#Eval("name") %>'></asp:TextBox>
20            </EditItemTemplate>
21            </asp:TemplateField>
22             
23            <asp:TemplateField HeaderText ="Marks"><ItemTemplate><%#Eval("marks") %> </ItemTemplate>
24           <EditItemTemplate >
25           <asp:TextBox ID="textbox2" runat ="server" Text ='<%#Eval("marks") %>'></asp:TextBox>
26           </EditItemTemplate>
27            </asp:TemplateField>
28             
29            </Columns>
30            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
31            <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
32            <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
33            <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
34            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
35            <AlternatingRowStyle BackColor="White" />
36        </asp:GridView>
37     
38    </div>
39    </form>
40</body>
41</html><>
and in your .cs page
01using System;
02using System.Data;
03using System.Configuration;
04using System.Web;
05using System.Web.Security;
06using System.Web.UI;
07using System.Web.UI.WebControls;
08using System.Web.UI.WebControls.WebParts;
09using System.Web.UI.HtmlControls;
10using System.Data.SqlClient;
11public partial class _Default : System.Web.UI.Page
12{
13    SqlConnection conn;
14    protected void Page_Load(object sender, EventArgs e)
15    {
16        conn = new SqlConnection("Data Source=INTHIYAAZ;Initial Catalog=shakeer;uid=sa;pwd=sa;");
17        if(!IsPostBack )
18        {
19            bind();
20       }
21    }
22    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
23    {
24        GridView1.EditIndex = e.NewEditIndex;
25        bind();
26         
27    }
28    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
29    {
30        GridView1.EditIndex = -1;
31        bind();
32    }
33    
34    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
35    {
36        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
37        Label lbl = (Label)row.FindControl("lblid");
38        TextBox textname = (TextBox)row.FindControl("textbox1");
39        TextBox textmarks = (TextBox)row.FindControl("textbox2");
40        
41        GridView1.EditIndex = -1;
42        conn.Open();
43        SqlCommand cmd = new SqlCommand("update  emp set marks=" + textmarks.Text + " , name='" + textname.Text + "' where rowid=" + lbl.Text + "", conn);
44       
45        cmd.ExecuteNonQuery();
46        conn.Close();
47        bind();
48        
49    }
50    public void bind()
51    {
52         
53        conn.Open();
54        SqlDataAdapter da = new SqlDataAdapter("select * from emp", conn);
55        DataSet ds = new DataSet();
56        da.Fill(ds, "emp");
57        GridView1.DataSource = ds.Tables[0];
58        GridView1.DataBind();
59        conn.Close();
60    }
61    protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
62    {
63         
64    }
65    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
66    {
67        
68    }
69    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
70    {
71        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
72        Label lbldeleteID = (Label)row.FindControl("lblid");
73        conn.Open();
74        SqlCommand cmd = new SqlCommand("delete  emp where rowid=" + lbldeleteID.Text + "", conn);
75        cmd.ExecuteNonQuery();
76        conn.Close();
77        bind();
78    }
79    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
80    {
81        GridView1.PageIndex = e.NewPageIndex;
82        bind();
83     
84    }
85}

No comments:

Post a Comment