将值绑定到Gridview标头中的文本框

时间:2011-05-12 13:51:54

标签: c# asp.net gridview binding

我在aspx页面中使用gridview。我正在动态地将Textbox添加到griview标题中。如何在网格标题中的文本框中插入值。 我的代码就像

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); 
    }
    }
} 

我正在尝试使用代码

将值绑定到文本框'txtBox1'
private void FillGridView()
 {
    TextBox txt;
    txt = (TextBox)GridView1.HeaderRow.FindControl("txtBox1");
    txt.Text = dtValues.Rows[0][5].ToString();
 }

但我无法填写文本框。请帮忙。

1 个答案:

答案 0 :(得分:0)

这可能会帮助那些非常古老的问题。这是我在向GV1插入数据后立即更新标题行文本框的方法。希望它有所帮助。

    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);
            }
        }

    }