Christian is right regarding adding textbox to the datagrid. Below is code sample to help you:
<asp:datagrid id="dg" runat="server" autogeneratecolumns="false" xmlns:asp="#unknown">
<columns>
<asp:boundcolumn datafield="id"></asp:boundcolumn>
<asp:templatecolumn>
<itemtemplate>
<asp:textbox id="txt" runat="server" text="<%#DataBinder.Eval(Container.DataItem,"name") %>"></asp:textbox>
</itemtemplate>
</asp:templatecolumn>
</columns>
</asp:datagrid>
To read textbox data you need to first find the control for each row. Below sample may help you:
foreach (DataGridItem item in dg.Items)
{
TextBox a= item.FindControl("txt") as TextBox;
if (a != null)
{
}
}
This is for server side code. You can also access the grid's controls at client side (JQuery recommended).