Note that there are some explanatory texts on larger screens.

plurals
  1. POAccess the textbox value from gridview
    primarykey
    data
    text
    <p>I have a dynamic gridview ...and it has four columns..what I want is to access the textbox value in the gridview from the last column "amount paid" and display its total sum value in a label.Below is the code that I have tried. can someone let me know how to do this?</p> <p>ASP.NET</p> <pre><code>&lt;asp:gridview ID="Gridview2" runat="server" ShowFooter="true" CssClass="vutblrow" TabIndex="3" HeaderStyle-CssClass="vutblhdr" CellPadding="4" ForeColor="#333333" GridLines="None" Width="1%" PagerStyle-Mode="NumericPages" AutoGenerateColumns="false" onrowcreated="Gridview2_RowCreated" Height="16px"&gt; &lt;PagerStyle CssClass="pgr" Height="25px" BorderStyle="Solid" /&gt; &lt;Columns&gt; &lt;asp:BoundField DataField="RowNumber" HeaderText="Serial Number" /&gt; &lt;asp:TemplateField HeaderText="From Place"&gt; &lt;ItemTemplate&gt; &lt;asp:TextBox ID="Textfrom" runat="server" CssClass="txtBoxNormalmedium"&gt;&lt;/asp:TextBox&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="To Place"&gt; &lt;ItemTemplate&gt; &lt;asp:TextBox ID="Textto" runat="server" CssClass="txtBoxNormalmedium"&gt;&lt;/asp:TextBox&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Distance Travelled (kms)"&gt; &lt;ItemTemplate&gt; &lt;asp:TextBox ID="TextBoxdist" runat="server" CssClass="txtBoxNormalmedium"&gt;&lt;/asp:TextBox&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Amount Paid (per km)"&gt; &lt;ItemTemplate&gt; &lt;asp:TextBox ID="TextBoxamt" runat="server" CssClass="txtBoxNormalmedium"&gt;&lt;/asp:TextBox&gt; &lt;/ItemTemplate&gt; &lt;FooterStyle HorizontalAlign="Right" /&gt; &lt;FooterTemplate&gt; &lt;asp:Button ID="ButtonAdd1" runat="server" Text="Add New Row" CssClass="btnNormalAdd" OnClick="add" /&gt; &lt;/FooterTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField&gt; &lt;ItemTemplate&gt; &lt;asp:LinkButton ID="LinkButton2" runat="server" CssClass="lnkbut" OnClick="LinkButton2_Click"&gt;Remove&lt;/asp:LinkButton&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;/Columns&gt; &lt;/asp:gridview&gt; &lt;asp:Label ID="lblTotal" runat="server" Text="Label"&gt;&lt;/asp:Label&gt; </code></pre> <p>C# code:</p> <pre><code>namespace Test.Test { public partial class WebForm6 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SetInitialRow1(); } } private void AddNewRowToGrid1() { int rowIndex = 0; if (ViewState["CurrentTable"] != null) { DataTable dtCurrentTable = (DataTable)ViewState["CurrentTable"]; DataRow drCurrentRow = null; if (dtCurrentTable.Rows.Count &gt; 0) { for (int i = 1; i &lt;= dtCurrentTable.Rows.Count; i++) { //extract the TextBox values TextBox box1 = (TextBox)Gridview2.Rows[rowIndex].Cells[1].FindControl("Textfrom"); TextBox box2 = (TextBox)Gridview2.Rows[rowIndex].Cells[2].FindControl("Textto"); TextBox box3 = (TextBox)Gridview2.Rows[rowIndex].Cells[3].FindControl("TextBoxdist"); TextBox box4 = (TextBox)Gridview2.Rows[rowIndex].Cells[3].FindControl("TextBoxamt"); drCurrentRow = dtCurrentTable.NewRow(); drCurrentRow["RowNumber"] = i + 1; dtCurrentTable.Rows[i - 1]["Column1"] = box1.Text; dtCurrentTable.Rows[i - 1]["Column2"] = box2.Text; dtCurrentTable.Rows[i - 1]["Column3"] = box3.Text; dtCurrentTable.Rows[i - 1]["Column4"] = box4.Text; rowIndex++; } dtCurrentTable.Rows.Add(drCurrentRow); ViewState["CurrentTable"] = dtCurrentTable; Gridview2.DataSource = dtCurrentTable; Gridview2.DataBind(); } } else { Response.Write("ViewState is null"); } //Set Previous Data on Postbacks SetPreviousData1(); } private void SetPreviousData1() { int rowIndex = 0; if (ViewState["CurrentTable"] != null) { DataTable dt = (DataTable)ViewState["CurrentTable"]; if (dt.Rows.Count &gt; 0) { for (int i = 0; i &lt; dt.Rows.Count; i++) { TextBox box1 = (TextBox)Gridview2.Rows[rowIndex].Cells[1].FindControl("Textfrom"); TextBox box2 = (TextBox)Gridview2.Rows[rowIndex].Cells[2].FindControl("Textto"); TextBox box3 = (TextBox)Gridview2.Rows[rowIndex].Cells[3].FindControl("TextBoxdist"); TextBox box4 = (TextBox)Gridview2.Rows[rowIndex].Cells[3].FindControl("TextBoxamt"); box1.Text = dt.Rows[i]["Column1"].ToString(); box2.Text = dt.Rows[i]["Column2"].ToString(); box3.Text = dt.Rows[i]["Column3"].ToString(); box4.Text = dt.Rows[i]["Column4"].ToString(); rowIndex++; } } } } protected void add(object sender, EventArgs e) { AddNewRowToGrid1(); } protected void Gridview2_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DataTable dt = (DataTable)ViewState["CurrentTable"]; LinkButton lb = (LinkButton)e.Row.FindControl("LinkButton1"); if (lb != null) { if (dt.Rows.Count &gt; 1) { if (e.Row.RowIndex == dt.Rows.Count - 1) { lb.Visible = false; } } else { lb.Visible = false; } } } } protected void LinkButton2_Click(object sender, EventArgs e) { LinkButton lb = (LinkButton)sender; GridViewRow gvRow = (GridViewRow)lb.NamingContainer; int rowID = gvRow.RowIndex + 1; if (ViewState["CurrentTable"] != null) { DataTable dt = (DataTable)ViewState["CurrentTable"]; if (dt.Rows.Count &gt; 1) { if (gvRow.RowIndex &lt; dt.Rows.Count - 1) { //Remove the Selected Row data dt.Rows.Remove(dt.Rows[rowID]); } } //Store the current data in ViewState for future reference ViewState["CurrentTable"] = dt; //Re bind the GridView for the updated data Gridview2.DataSource = dt; Gridview2.DataBind(); } //Set Previous Data on Postbacks SetPreviousData1(); } private void SetInitialRow1() { DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(new DataColumn("RowNumber", typeof(string))); dt.Columns.Add(new DataColumn("Column1", typeof(string))); dt.Columns.Add(new DataColumn("Column2", typeof(string))); dt.Columns.Add(new DataColumn("Column3", typeof(string))); dt.Columns.Add(new DataColumn("Column4", typeof(string))); dr = dt.NewRow(); dr["RowNumber"] = 1; dr["Column1"] = string.Empty; dr["Column2"] = string.Empty; dr["Column3"] = string.Empty; dr["Column4"] = string.Empty; dt.Rows.Add(dr); //dr = dt.NewRow(); //Store the DataTable in ViewState ViewState["CurrentTable"] = dt; Gridview2.DataSource = dt; Gridview2.DataBind(); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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