无法获得嵌套在formview中的gridview上的单元格值

本文关键字:gridview 单元格 中的 formview 嵌套 | 更新日期: 2023-09-27 18:05:48

我有一个formview和一个嵌套的gridview,我希望能够在行更新时选择特定单元格的值。我从msdn网站的示例代码,因为它接近我想要的:

protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
    {
       GridView SprayGrid = (GridView)FormView1.FindControl("GridView1");
       int Index = SprayGrid.EditIndex;
       GridViewRow row = SprayGrid.Rows[Index];

       TextBox message = (TextBox)FormView1.FindControl("TextBox1");
         message.Text = row.Cells[4].Text;
    }

然而,由于某种原因,这将只拾取单元格的索引,即如果我改变行。Cells[0]我可以在我的消息框中看到索引号,如果我想看到任何其他单元格,那么消息是空白的吗?任何想法都很棒。

无法获得嵌套在formview中的gridview上的单元格值

在GridView上使用DataKey,而不是尝试从单元格中设置TextBox的值,而是从DataKey中设置它。

在ASPX中:

<asp:GridView Id="GridView1" runat="server" DataKeyNames="SomeColumnName">

在你的行更新事件中:

TextBox message = (TextBox)FormView1.FindControl("TextBox1");
message.Text = SprayGrid.DataKeys[row.RowIndex]["SomeColumnName"].ToString();