Note that there are some explanatory texts on larger screens.

plurals
  1. POASP.net Gridview checkbox tick/untick update
    text
    copied!<p>I have a Gridview in ASP.NET where I need to include checkbox to the gridview and an Update button. On checking the checkbox for a particular row, the update event should trigger and clicking the update button should save the changes. I have written C# code to update the Gridview without using the checkbox. However, unable to proceed when the checkbox is included. Grid View Design Code is :</p> <pre><code> &lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head runat="server"&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;form id="form1" runat="server"&gt; &lt;div&gt; &lt;asp:Label ID="Label1" runat="server" Text="Employee ID"&gt;&lt;/asp:Label&gt; &lt;asp:TextBox ID="TextBox1" runat="server" style="margin-left: 110px"&gt;&lt;/asp:TextBox&gt; &lt;br /&gt; &lt;br /&gt; &lt;asp:Label ID="Label2" runat="server" Text="Employee Name"&gt;&lt;/asp:Label&gt; &lt;asp:TextBox ID="TextBox2" runat="server" style="margin-left: 90px"&gt;&lt;/asp:TextBox&gt; &lt;br /&gt; &lt;br /&gt; &lt;asp:Label ID="Label3" runat="server" Text="Employee Experience"&gt;&lt;/asp:Label&gt; &lt;asp:TextBox ID="TextBox3" runat="server" style="margin-left: 61px"&gt;&lt;/asp:TextBox&gt; &lt;br /&gt; &lt;br /&gt; &lt;asp:Label ID="Label4" runat="server" Text="Employee Address"&gt;&lt;/asp:Label&gt; &lt;asp:TextBox ID="TextBox4" runat="server" style="margin-left: 79px"&gt;&lt;/asp:TextBox&gt; &lt;br /&gt; &lt;br /&gt; &lt;asp:Button ID="Button2" runat="server" onclick="Button2_Click" style="text-align: left" Text="Submit" /&gt; &lt;asp:GridView ID="EmployeeGridView" runat="server" AutoGenerateColumns="False" DataKeyNames="Emp_id" onrowcancelingedit="EmployeeGridView_RowCancelingEdit" onrowediting="EmployeeGridView_RowEditing" onrowdeleting="EmployeeGridView_RowDeleting" onrowupdating="EmployeeGridView_RowUpdating" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" onpageindexchanging="EmployeeGridView_PageIndexChanging" Width="408px" AllowSorting="True" onselectedindexchanged="EmployeeGridView_SelectedIndexChanged"&gt; &lt;AlternatingRowStyle BackColor="White" /&gt; &lt;Columns&gt; &lt;asp:TemplateField HeaderText="Sr.No"&gt; &lt;ItemTemplate&gt;&lt;%#Container.DataItemIndex+1 %&gt;&lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Name"&gt; &lt;ItemTemplate&gt;&lt;%#Eval("Emp_name") %&gt;&lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtempname" runat="server" Text='&lt;%#Eval("Emp_name") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Experience"&gt; &lt;ItemTemplate&gt;&lt;%#Eval("Emp_exp") %&gt;&lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtempexp" runat="server" Text='&lt;%#Eval("Emp_exp") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Address"&gt; &lt;ItemTemplate&gt;&lt;%#Eval("Emp_address") %&gt;&lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtempaddress" runat="server" Text='&lt;%#Eval("Emp_address") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:CommandField ShowEditButton="true" ButtonType ="Button" ItemStyle-ForeColor= "Aqua"&gt; &lt;ItemStyle ForeColor="Aqua"&gt;&lt;/ItemStyle&gt; &lt;/asp:CommandField&gt; &lt;asp:CommandField ShowDeleteButton="true" ButtonType="Button" HeaderText="Delete" /&gt; &lt;/Columns&gt; &lt;EditRowStyle BackColor="#2461BF" /&gt; &lt;FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /&gt; &lt;HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /&gt; &lt;PagerSettings FirstPageText="First" LastPageText="Last" Mode="NumericFirstLast" PageButtonCount="4" /&gt; &lt;PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /&gt; &lt;RowStyle BackColor="#EFF3FB" /&gt; &lt;SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /&gt; &lt;SortedAscendingCellStyle BackColor="#F5F7FB" /&gt; &lt;SortedAscendingHeaderStyle BackColor="#6D95E1" /&gt; &lt;SortedDescendingCellStyle BackColor="#E9EBEF" /&gt; &lt;SortedDescendingHeaderStyle BackColor="#4870BE" /&gt; &lt;/asp:GridView&gt; &lt;/div&gt; &lt;asp:Button ID="Button1" runat="server" Text="Update" /&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>C# code Behind is :</p> <pre><code>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 { string connstr = @"Data Source=xxxxxxx\SQLEXPRESS;Initial Catalog=xxxxxxxxx;Integrated Security=True"; protected void EmployeeGridView_Sorting(object sender, GridViewSortEventArgs e) { Session["sortBy"] = e.SortExpression; FillGrid(); } protected void Page_Load(object sender, EventArgs e) { Session["sortBy"] = null; if (!Page.IsPostBack) { FillGrid(); } } public void FillGrid() { SqlConnection con = new SqlConnection(connstr); con.Open(); SqlCommand cmd = new SqlCommand("GetEmployeeInfo", con); SqlDataReader dr = cmd.ExecuteReader();//it reads froword only data from database DataTable dt = new DataTable();//object of data table that uses to conatin whole data dt.Load(dr);//Sql Data reader data load in data table it is DataTable Method. EmployeeGridView.DataSource = dt; EmployeeGridView.DataBind(); } protected void EmployeeGridView_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { EmployeeGridView.EditIndex = -1; FillGrid(); } protected void EmployeeGridView_RowEditing(object sender, GridViewEditEventArgs e) { EmployeeGridView.EditIndex = e.NewEditIndex; FillGrid(); } protected void EmployeeGridView_RowUpdating(object sender, GridViewUpdateEventArgs e) { int empid = Convert.ToInt32(EmployeeGridView.DataKeys[e.RowIndex].Value.ToString());//Get Each Row unique value from DataKeyNames string name = ((TextBox)EmployeeGridView.Rows[e.RowIndex].FindControl("txtempname")).Text;//get TextBox Value in EditItemTemplet that row is clicked string experience = ((TextBox)EmployeeGridView.Rows[e.RowIndex].FindControl("txtempexp")).Text; string address = ((TextBox)EmployeeGridView.Rows[e.RowIndex].FindControl("txtempaddress")).Text; SqlConnection con = new SqlConnection(connstr); con.Open(); SqlCommand cmd = new SqlCommand("EmployeeUpdate", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@emp_id ", empid); cmd.Parameters.AddWithValue("@emp_name ", name); cmd.Parameters.AddWithValue("@emp_exp ", experience); cmd.Parameters.AddWithValue("@emp_address ", address); cmd.ExecuteNonQuery();//Sql Command Class method return effected rows use for insert,update, delete EmployeeGridView.EditIndex = -1;// no row in edit mode FillGrid(); } protected void EmployeeGridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { int empid = Convert.ToInt32(EmployeeGridView.DataKeys[e.RowIndex].Value.ToString()); SqlConnection con = new SqlConnection(connstr); con.Open(); SqlCommand cmd = new SqlCommand("DeleteEmployee", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@emp_id ", empid); cmd.ExecuteNonQuery(); FillGrid(); } protected void EmployeeGridView_PageIndexChanging(object sender, GridViewPageEventArgs e) { EmployeeGridView.PageIndex = e.NewPageIndex; FillGrid(); } private void UpdateOrAddNewRecord(string Emp_id, string Emp_name, string Emp_exp, string Emp_address) { SqlConnection con = new SqlConnection(connstr); string sqlStatement = string.Empty; sqlStatement = "INSERT INTO tbl_employee" + "(Emp_id, Emp_name, Emp_exp, Emp_address)" + "VALUES (@Emp_id, @Emp_name, @Emp_exp, @Emp_address)"; con.Open(); SqlCommand cmd = new SqlCommand(sqlStatement, con); cmd.Parameters.AddWithValue("@Emp_id", Emp_id); cmd.Parameters.AddWithValue("@Emp_name", Emp_name); cmd.Parameters.AddWithValue("@Emp_exp", Emp_exp); cmd.Parameters.AddWithValue("@Emp_address", Emp_address); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); con.Close(); } protected void Button2_Click(object sender, EventArgs e) { UpdateOrAddNewRecord(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text); FillGrid(); } } </code></pre> <p>I didnt keep the code for stored procedures of DeleteEmployee, EmployeeUpdate, GetEmployeeInfo.</p> <p>In the above code I need to insert checkbox for the gridview and update the items which are checked instead of clicking Edit Button and then Updating</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload