Enable or Disable TextBox in GridView With Footer Total When Checkbox is Checked in ASP.Net C#

Enable or Disable TextBox in GridView With Footer Total When Checkbox is Checked

GridView Row  Ckeckbox is Checked  Enable Textbox  Enter Amount Finally Get Total Footer Row Using Asp.Net C#.

                  Download Coding


                 HTML CODING

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <form id="form1" runat="server">
    <div align="center">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  ShowFooter="True">
                <asp:TemplateField HeaderText="Check">
                        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" />
                <asp:TemplateField HeaderText="ID">
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
                <asp:TemplateField HeaderText="Name">
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("name") %>'></asp:Label>
                <asp:TemplateField HeaderText="Quantity">
                        <asp:TextBox ID="txtQt" runat="server" Enabled="False"></asp:TextBox>
                <asp:TemplateField HeaderText="Amount">
                        <asp:Label ID="lblTotal" runat="server" ForeColor="#CC3300"></asp:Label>
                        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Total" />
                        <asp:TextBox ID="txtAmt" runat="server" Enabled="false"></asp:TextBox>


                    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 _Default : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)
        if (!IsPostBack)
            SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbcon"].ToString());
            SqlDataAdapter adp = new SqlDataAdapter("select * from reg", con);
            DataSet ds = new DataSet();
            GridView1.DataSource = ds;
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        CheckBox chk = (CheckBox)sender;
        GridViewRow gr = (GridViewRow)chk.NamingContainer;
        CheckBox ch = (CheckBox)gr.FindControl("CheckBox1");
        TextBox txtQt = (TextBox)gr.FindControl("txtQt");
        TextBox txtAmt = (TextBox)gr.FindControl("txtAmt");
        if (chk.Checked)
            txtAmt.Enabled = true;
            txtQt.Enabled = true;
            txtQt.Text = "";
            txtAmt.Text = "";
            txtAmt.Enabled =false;
            txtQt.Enabled =false;

    protected void Button1_Click(object sender, EventArgs e)
        // Footer total Button
        int total1=0;
        foreach (GridViewRow gr in GridView1.Rows)
            CheckBox ch = (CheckBox)gr.FindControl("CheckBox1");
            if (ch.Checked & ch!=null)
                TextBox txtAmt = (TextBox)gr.FindControl("txtAmt");
                Label lbltotal = GridView1.FooterRow.FindControl("lblTotal") as Label;
              total1  += Convert.ToInt32(txtAmt.Text);
              lbltotal.Text = total1.ToString();


First Create New Webform - Add GridView  From Toolbox - Edit Column - Add TemplateField -  Ok

Next - Add Header Text Name

Next - GridView Edit Template Field - Add Label - Edit DataBinding - Bind Field Name

Next - GridView Edit Template Field - Add Textbox - Property - Enable = false

After - DataBound Show GridView

Next - GridView Edit Column - Template Field 

GridView - Edit Template Field - Add Checkbox - AutoPostback =true

Checkbox - Double Click 

Next - Textbox - Enabled = false

Next - Show GridView After Bind Checkbox 

Next - Add Namespaces -  Gridview row  Event -  Checkbox is Checked - Row Event Values Get & enabled= true

Next - Get Total Values to Footer Row


Post a Comment