How to Insert New Row Using GridView Footer in Asp.Net.


Insert New Row Using  GridView Footer



A Gridview Bind to Data Table. But Add Gridview Footer  Row Directly.


Insert Data Using Gridview Footer Row 

                                                DEMO





Html Coding


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

<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:gridview ID="Gridview1" runat="server" AutoGenerateColumns="False"
            OnSelectedIndexChanged="Gridview1_SelectedIndexChanged" ShowFooter="True">
             <Columns>
           <asp:TemplateField HeaderText="Action">
             <FooterTemplate>
             <asp:LinkButton ID="LinkButton1" runat="server"
                  CommandName="Select">Insert</asp:LinkButton>
             </FooterTemplate>
             </asp:TemplateField>
             <asp:TemplateField HeaderText="Name">
             <FooterTemplate>
             <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
             </FooterTemplate>
             <ItemTemplate>
             <asp:Label ID="Label1" runat="server" Text='<%# Eval("name") %>'></asp:Label>
             </ItemTemplate>
             </asp:TemplateField>
             <asp:TemplateField HeaderText="Email ID">
             <FooterTemplate>
            <asp:TextBox ID="txtEmailID" runat="server"></asp:TextBox>
            </FooterTemplate>
            <ItemTemplate>
            <asp:Label ID="Label2" runat="server" Text='<%# Eval("email") %>'></asp:Label>
            </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="City">
            <FooterTemplate>
           <asp:TextBox ID="txtCity" runat="server"></asp:TextBox>
          </FooterTemplate>
          <ItemTemplate>
         <asp:Label ID="Label3" runat="server" Text='<%# Eval("city") %>'></asp:Label>
         </ItemTemplate>
        </asp:TemplateField>
             </Columns>
        </asp:gridview>
       
    </div>
    </form>
</body>
</html>




C# Coding



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

public partial class Grid_Insert : System.Web.UI.Page
{

    SqlConnection con;
    SqlCommand cmd;
    SqlDataAdapter adp;
    SqlDataReader rd;
    DataSet ds;
    string query;


    public void dbcon()
    {
        string connn = (System.Configuration.ConfigurationManager.
ConnectionStrings["dbcon"].ToString());
        con = new SqlConnection(connn);
        con.Open();

    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bind11();
        }
    }


    protected void bind11()
    {
        dbcon();
        query = "select * from grid";
        cmd = new SqlCommand(query, con);
        adp = new SqlDataAdapter(cmd);
        ds = new DataSet();
        adp.Fill(ds);
        rd = cmd.ExecuteReader();
        if (ds.Tables[0].Rows.Count > 0)
        {
            Gridview1.DataSource = ds;
            Gridview1.DataBind();
        }
        else
        {
            ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
            Gridview1.DataSource = ds;
            Gridview1.DataBind();
            int columncount = Gridview1.Rows[0].Cells.Count;
            Gridview1.Rows[0].Cells.Clear();
           // GridView1.FooterRow.Cells.Clear();
            Gridview1.Rows[0].Cells.Add(new TableCell());
            Gridview1.Rows[0].Cells[0].ColumnSpan
 = columncount;
            Gridview1.Rows[0].Cells[0].Text = "No Records Found";
        }
    }


    protected void Gridview1_SelectedIndexChanged(object sender, EventArgs e)
    {

        TextBox txtNamee = (TextBox)Gridview1.FooterRow.
FindControl("txtName");
        TextBox txtEmaill = (TextBox)Gridview1.FooterRow.
FindControl("txtEmailID");
        TextBox txtCity = (TextBox)Gridview1.FooterRow.
FindControl("txtCity");

        dbcon();
  query = "insert into grid (name,email,city)values('"+txtNamee.Text+"',
'"+txtEmaill.Text+"','"+txtCity.Text+"')";
        cmd = new SqlCommand(query, con);
        cmd.ExecuteNonQuery();
        con.Close();

        bind11();
    }

}



First - Add the New - WebForm Grid_Insert.aspx








Next - Add the  GridView From Toolbox 









Next - Create the  Table &  Add the Fields(Requireds)









Next - Right Click GridView  -  Select - Edit Column








Add  -  TemplateFields  &  Remove - Auto Generate Fields - OK 









Next - Change the  All the  Templates Fields Header Text  Name









Next - Show the  GridView Colum Names








Right Click- GridView - Select - Edit Templates








Next - Add the Label to  Item Tempaltes  & Add Field Name = name to Edit DataBinding  








Next - Footer Templates Add TextBox  Change the ID








Next - Add the Label to  Item Tempaltes  & Add Field Name = email to Edit DataBinding  









Next - Footer Templates Add TextBox  Change the ID







 Next - Add the Label to  Item Tempaltes  & Add Field Name = city to Edit DataBinding  







Next - Footer Templates Add TextBox  Change the ID








Next - Select Edit Template Editing








Next - Select Edit column - Add Template Fields  Header Action









Next - Select  Action Column Footer Row  - Insert Linkbutton - Text = Insert & CommandName= Select









Select - Edit Template - Show The GridView  Below Like That









Next - GridView - Property - Select - ShowFooter = True








Next - Show the Html Coding





         

Next - Go To - Coding Part - Add NameSpaces &  Database Connection 







New Class  Create - Select Table  & Double Click the GridView - Open -  Select Index Changed  

Select - GridView Footer Row TextBox Id  

Next - Insert  the Selected Values










Next - Select WebForm - Right Click - View in Browser (Run F5)








OUTPUT



 grid Table Empty  - Show No Records Found








Next - Insert  Values - Footer Row TextBox  &  Insert button Click






                   
                     Inserted Values & Bind







Next - Insert Values & Insert Button Click







Bind The Inserted Values





                         

0 comments:

Post a Comment