Единственный способ сделать это - заполнить GridView строками динамически из ваших источников данных, а затем использовать событие OnRowCreated для переключения нужных полей в поля шаблона.
Вы можете расширить интерфейс ITemplate или использовать собственный элемент управления ascx для загрузки в поле следующим образом.
TemplateColumn bc = new TemplateColumn();
bc.HeaderText = "Template Column";
bc.ItemTemplate = Page.LoadTemplate(TEMPLATEFILE);
grid.Columns.Add(bc);
Вот несколько хороших ссылок, которые помогут вам, если вырешите пойти по этому пути, на самом деле вы можете получить лучшую производительность (и меньше проблем с ремонтопригодностью) от их разделения.Даже панели обновления, основанные на пользовательском вводе, будут в порядке.
Ссылка 1 Ссылка 2
Если вы хотите изменить свой подход и не увереныо том, какой вариант вам подойдет, попробуйте опубликовать немного больше информации о вашем проекте, и мы можем перейти оттуда.Удачного кодирования!