我有一个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;
}
然而,由于某种原因,这只会获取单元格的索引,即如果我更改了row.cells [0]我可以在我的消息框中看到索引号,如果我想看到任何其他单元格然后消息是空白的?任何想法都会很棒。
答案 0 :(得分:1)
在GridView上使用DataKeys,而不是尝试从单元格设置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();