Sunday, 19 May 2013

How to Edit/Update Gridview Row..

How to Edit/Update Gridview Row..


In This Article I will show you , How Can we Edit/Update Gridview Row.Below I am showing GridView data




If We Want to Edit any Row .Press Edit then We will Get Update and Cancel button .Simply We can Update Row value.




GridWithEditEvent.aspx


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

<!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="gridview" runat="server" AutoGenerateColumns="False" 
            onrowcancelingedit="onRowCancelingEdit" onrowediting="OnRowEdit" 
            onrowupdating="OnRowUpdate" GridLines="None" Width="67%" Style="text-align: left" BackColor="#99CCFF">
   <Columns>
   <asp:TemplateField HeaderText="Student Id">
    <ItemTemplate>
    <asp:Label ID ="id" runat="server" Text='<%#Eval("StudentId") %>'></asp:Label>
    </ItemTemplate>
   </asp:TemplateField>
   <asp:TemplateField>
    <ItemTemplate>
    <asp:Label ID ="lblname" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="txtname" runat="server" Text='<%#Eval("Name") %>'></asp:TextBox>
    </EditItemTemplate>
   </asp:TemplateField>
   <asp:TemplateField HeaderText="Student RollNo">
    <ItemTemplate>
    <asp:Label ID ="lblrollno" runat="server" Text='<%#Eval("RollNo") %>'></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="txtrollno" runat="server" Text='<%#Eval("RollNo") %>'></asp:TextBox>
    </EditItemTemplate>
   </asp:TemplateField>

   <asp:TemplateField HeaderText="Student Course">
    <ItemTemplate>
    <asp:Label ID ="lblcourse" runat="server" Text='<%#Eval("Course") %>'></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="txtCourse" runat="server" Text='<%#Eval("Course") %>'></asp:TextBox>
    </EditItemTemplate>
   </asp:TemplateField>

    <asp:TemplateField>
    <ItemTemplate>
    <asp:LinkButton ID="lnkbtn" runat="server" CommandName="Edit">Edit</asp:LinkButton>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:LinkButton ID="lnkupdate" runat="server" CommandName="Update">Update</asp:LinkButton>
    <asp:LinkButton ID="lnkcancel" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
    </EditItemTemplate>
   </asp:TemplateField>
   </Columns>
   <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle BackColor="White" />
    </asp:GridView>
    </div>
    </form>
</body>
</html>


GridWithEditEvent.aspx.cs[CodeBehind Page]

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

public partial class GridWithEditEvent : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection(@"Data Source=RAM-PC\SQLEXPRESS;Initial Catalog=CMC;integrated security=true");
    SqlDataAdapter adap = null;
    DataSet ds = null;
    //int rowNo;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GetStudentData();
        }
    }
    private void GetStudentData()
    {
        
        adap = new SqlDataAdapter("select * from Student", con);
        ds = new DataSet();
        adap.Fill(ds, "Student");
        gridview.DataSource = ds.Tables["Student"];
        gridview.DataBind();
    }
    protected void OnRowEdit(object sender, GridViewEditEventArgs e)
    {
        gridview.EditIndex = e.NewEditIndex;
        GetStudentData();
    }
    protected void OnRowUpdate(object sender, GridViewUpdateEventArgs e)
    {
        int studentid =Convert.ToInt32( ((Label)gridview.Rows[e.RowIndex].FindControl("id")).Text);
        string studentName = ((TextBox)gridview.Rows[e.RowIndex].FindControl("txtname")).Text;
        int studentRollNo = Convert.ToInt32(((TextBox)gridview.Rows[e.RowIndex].FindControl("txtrollno")).Text);
        string studentCourse = ((TextBox)gridview.Rows[e.RowIndex].FindControl("txtCourse")).Text;
        string query = "update Student set Name='"+studentName+"',RollNo='"+studentRollNo+"',Course='"+studentCourse+"' where StudentId="+studentid+"";
        con = new SqlConnection(@"Data Source=RAM-PC\SQLEXPRESS;Initial Catalog=CMC;integrated security=true");
        con.Open();
        SqlCommand cmd = new SqlCommand(query, con);
        SqlDataAdapter adap = new SqlDataAdapter(cmd);
        int n = adap.SelectCommand.ExecuteNonQuery();
        if (n > 0)
        {
            
            gridview.EditIndex = -1;
            GetStudentData();
            Response.Write("Data Updated successfully");
        }


    }
    protected void onRowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gridview.EditIndex = -1;
        GetStudentData();
    }
}

0 comments:

Post a Comment