Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find Control inside Grid Row

i m using parent child grid and on child grid i m doing Show / hide threw java script. and child grid i bind run time with Templatecolumns like

GridView NewDg = new GridView();
NewDg.ID = "dgdStoreWiseMenuStock";

TemplateField TOTAL = new TemplateField();
TOTAL.HeaderTemplate = new BusinessLogic.GridViewTemplateTextBox(ListItemType.Header, "TOTAL",e.Row.RowIndex );
TOTAL.HeaderStyle.Width = Unit.Percentage(5.00);
TOTAL.ItemTemplate = new BusinessLogic.GridViewTemplateTextBox(ListItemType.Item, "TOTAL", e.Row.RowIndex);
NewDg.Columns.Add(TOTAL);

NewDg.DataSource = ds;
NewDg.DataBind();


NewDg.Columns[1].Visible = false;
NewDg.Columns[2].Visible = false;

System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
NewDg.RenderControl(htw);

Now I have one TextBox inside Grid named "TOTAL" I want to Find This TextBox and wanna get its value.

How can Get it ?

like image 687
user239146 Avatar asked Jan 23 '23 20:01

user239146


1 Answers

You could get the TextBox control inside the corresponding cell of the GridView, using the Controls property or the FindControl(string id) method:

TextBox txtTotal = gv.Rows[index].cells[0].Controls[0] as TextBox;

or

TextBox txtTotal = gv.Rows[index].cells[0].Controls[0].FindControl("TOTAL") as TextBox;

where index could be 0 for the first row, or an iterator inside a for loop.

Alternatively, you can use a foreach loop over the GridView's rows:

foreach(GridViewRow row in gv.Rows)
{
    TextBox txtTotal = row.cells[0].Controls[0].FindControl("TOTAL") as TextBox;
    string value = txtTotal.Text;

    // Do something with the textBox's value
}

Besides, you have to keep in mind that, if you're creating the GridView dynamically (and not declaratively in the web form), you won't be able to get this control after a page postback.

There is a great 4 Guys from Rolla article on the subject: Dynamic Web Controls, Postbacks, and View State

like image 107
alejofv Avatar answered Jan 31 '23 16:01

alejofv