I am using a gridview in aspx page. I am adding Textboxes dynamically to the griview header. How can I insert a value to the textbox in the grid header. My code goes like
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
TextBox txtBox1 = default(TextBox);
for (int i = 0; i <= (e.Row.Cells.Count - 1); i++)
{
litHeader.Text = e.Row开发者_如何学运维.Cells[i].Text + "<br/>";
e.Row.Cells[i].Controls.Add(litHeader);
e.Row.Cells[i].Controls.Add(txtBox1);
}
}
}
I am trying to bind a value to the textbox 'txtBox1' using the code
private void FillGridView()
{
TextBox txt;
txt = (TextBox)GridView1.HeaderRow.FindControl("txtBox1");
txt.Text = dtValues.Rows[0][5].ToString();
}
But I am not able to fill the textbox. Please help.
This may help someone on very old question. This how I update my header row text box immediately after I insert data to GV1. Hope it helps.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
}
if (e.Row.RowType == DataControlRowType.Header)
{
//((TextBox)GridView1.HeaderRow.FindControl("tbProjNumInsert")).Text
if (newMaxNum != null && newMaxNum.Length > 0)
{
((TextBox)e.Row.Cells[4].FindControl("tbProjNumInsert")).Text = newMaxNum;
System.Diagnostics.Debug.WriteLine("GridView1_RowDataBound()...GridView1.Width !!!! " + ((TextBox)e.Row.Cells[4].FindControl("tbProjNumInsert")).Text + "........newMaxNum:" + newMaxNum);
}
}
}
精彩评论