【问题标题】:bind value to a Textbox in Gridview header将值绑定到 Gridview 标题中的文本框
【发布时间】:2011-05-12 13:51:54
【问题描述】:

我在 aspx 页面中使用 gridview。我正在将文本框动态添加到 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();
 }

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

【问题讨论】:

  • 你在哪里调用FillGridView方法。它需要在 RowDatabound 事件中或之后发生
  • 我试图在gridview中绑定数据后找到文本框。我的代码是 GridView1.DataSource = dt; GridView1.DataBind(); txt = (TextBox)GridView1.HeaderRow.FindControl("txtBox1");

标签: c# asp.net gridview binding


【解决方案1】:

这可能会帮助某人解决非常古老的问题。这就是我在将数据插入 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);
            }
        }

    }

【讨论】:

    猜你喜欢
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多