I would probably setup the GridView_OnRowCommand Event and check for a e.CommandName == "Edit"
Inside of this event, I would locate and bind the textbox with it's data.
protected void grdInfoLib_OnRowCommand(Object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
recordID = Convert.ToInt32(e.CommandArgument);
//Get Record From DB, locate the textbox inside of the GridView controls, and Populate TextBox
}
}
You might be able to get around the extra code by doing something like this...
<asp:TemplateField HeaderText="Description" SortExpression="Description">
<EditTemplate>
<asp:TestBox runat="server" ID="txtDescription" Text="<%# Eval("ColumnName") %>></asp:Label>
</EditTemplate>
</asp:TemplateField>
I haven't tested this out, but figure the Gridview, along with it's bindings to the ODS in the aspx page, might allow this to work as well.