Поместите элемент управления PlaceHolder
в столбец, в который вы хотите добавить элементы управления.Затем внутри RowDataBound события GridView добавьте элементы управления в PlaceHolder
Edit 1
Ваши столбцы сетки в aspx будут выглядеть следующим образом: -
<Columns>
<asp:TemplateField HeaderText="Column1">
<ItemTemplate>
<asp:PlaceHolder runat='server' ID="column1PlaceHolder"></asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Column2">
<ItemTemplate>
<asp:PlaceHolder runat='server' ID="column2PlaceHolder"></asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateField>
</Columns>
Ваше событие RowDataBound будет выглядеть так: -
public void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (column1NeedsControls)
{
PlaceHolder placeHolder = e.Row.FindControl("column1PlaceHolder") as PlaceHolder;
TextBox TextBox1 = new TextBox();
placeHolder.Controls.Add(TextBox1);
}
if (column2NeedsControls)
{
PlaceHolder placeHolder = e.Row.FindControl("column2PlaceHolder") as PlaceHolder;
TextBox TextBox1 = new TextBox();
placeHolder.Controls.Add(TextBox1);
}
}