如何使用网格视图控件的值填充文本框

本文关键字:填充 文本 控件 何使用 网格 视图 | 更新日期: 2023-09-27 18:32:38

只用一个常规值,你会写出类似的东西

  protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
    GridViewRow email = GridView1.SelectedRow;
    txtbox.Text = email.Cells[5].Text;
}

但是,我想用一个值填充该文本框,该值是网格视图中的文本框控件。我有一个行列表,根据我选择的行,该文本框将填充该控件值。任何帮助/建议将不胜感激。

如何使用网格视图控件的值填充文本框

我建议为此使用数据密钥。它比使用单元格索引要容易得多,也可靠得多:

<asp:GridView ID="Gridview1" runat="server" DataKeyNames="Column1, Column2" ...>

然后,在代码隐藏中,您可以访问如下所示的值:

protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
    GridViewRow email = GridView1.SelectedRow;
    txtbox.Text = (string)GridView1.DataKeys[email.RowIndex]["Column1"];    
}

试试这个:

GridView1.RowCommand += GridView1_RowCommand;
private void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
        if (e.CommandName == "Select")
        {
            int index = Convert.ToInt32(Convert.ToString(e.CommandArgument));
            GridViewRow row = GridView1.Rows[index];
            this.NameTextBox.Text = Server.HtmlDecode(row.Cells[1].Text);
        }
}

尝试下面的代码。

TextBox tb = GridView1.SelectedRow.FindControl("textboxId") as TextBox;
textbox.Text = tb.Text;

您可以在此处找到有关如何使用表单的文本框值填充网格视图的更好代码。http://sharepoint-2010-world.blogspot.in/2013/10/populating-grid-with-form-values.html