Click here to Skip to main content
15,911,715 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have desing a gridview

ASP
<asp:GridView runat="server" ID="GridView1">
    <Columns>

        <asp:TemplateField HeaderText="Name" >
   <ItemTemplate>

                <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            </ItemTemplate>
            </asp:TemplateField>
        <asp:TemplateField HeaderText="Code">

            <ItemTemplate>

                <asp:TextBox ID="txtCode" runat="server"></asp:TextBox>

            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Serial Number">
            <ItemTemplate>
                <asp:TextBox ID="txtSNo" runat="server"></asp:TextBox>
            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Internal Serial Number">
            <ItemTemplate>

                <asp:TextBox ID="txtISNo" runat="server"></asp:TextBox>

            </ItemTemplate>
         </asp:TemplateField>
        <asp:TemplateField HeaderText="Internal Serial Number">
            <ItemTemplate>

                <asp:TextBox ID="txtWaranty" runat="server"></asp:TextBox>

            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Waranty">

            <ItemTemplate>

                <asp:TextBox ID="txtWStart" runat="server"></asp:TextBox>

            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Start">

            <ItemTemplate>

                 <asp:TextBox ID="txtWEnd" runat="server">
                 </asp:TextBox>

            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="End">

            <ItemTemplate>

                 <asp:TextBox ID="txtStatus" runat="server">
                 </asp:TextBox>

            </ItemTemplate>

           

        </asp:TemplateField>

        </Columns>
   </asp:GridView>


And add rows depend upon value
C#
int NoOfRows;
       protected void Page_Load(object sender, EventArgs e)
       {
           if (!IsPostBack)
           {
               NoOfRows = Convert.ToInt32((string)HttpContext.Current.Session["NoOfRows"]);
               CreateGrid(NoOfRows);
           }

       }
internal void CreateGrid(int rows)
        {
            dt = new DataTable();

            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Code", typeof(string)));
            dt.Columns.Add(new DataColumn("Serial Number", typeof(string)));
            dt.Columns.Add(new DataColumn("Internal Serial Number", typeof(string)));
            dt.Columns.Add(new DataColumn("Waranty", typeof(string)));
            dt.Columns.Add(new DataColumn("Start", typeof(string)));
            dt.Columns.Add(new DataColumn("End", typeof(string)));
            dt.Columns.Add(new DataColumn("Status", typeof(string)));
            //Store the DataTable in ViewState


            for (int i = 0; i < NoOfRows; i++)
            {
                dr = dt.NewRow();

                dr["Name"] = NoOfRows.ToString();
                dr["Code"] = string.Empty;
                dr["Serial Number"] = string.Empty;
                dr["Internal Serial Number"] = string.Empty;
                dr["Waranty"] = string.Empty;
                dr["Start"] = string.Empty;
                dr["End"] = string.Empty;
                dr["Status"] = string.Empty;
                dt.Rows.Add(dr);
            }
            ViewState["CurrentTable"] = dt;
            GridView1.AutoGenerateColumns = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();

            GridView1.Visible = true;
        }


Now I want to access TextBox value on button click.
Posted

TextBox txtSNo = (TextBox)GridView1.Rows[iCount].FindControl("txtSNo");

string SerialNumber = txtSNo.Text;
 
Share this answer
 
Try like this

C#
protected void button1_Click(object sender, EventArgs e)
{
     GridViewRow row = (GridViewRow)((Button)sender).NamingContainer;
     TextBox TextBox1 = row.FindControl("TextBox1") as TextBox; 

      //To access TextBox1 value here.
      string myString = TextBox1.Text;
}
 
Share this answer
 
Try below piece of code:
C#
protected void gridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
	//this line is taking selected row value.
	int SelectedRow = Convert.ToInt32(e.CommandArgument.ToString());
	TextBox OrginalTextboxResource=(TextBox)gridDisplay.Rows[e.RowIndex].FindControl("Your Text Box Name");
	string UserEnteredText = OrginalTextboxResource.Text;
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900