BindData для ITemplate для GridView в коде позади
Как программно связать данные с пользовательским столбцом шаблона элемента для GridView? Пока что я сделал что-то похожее на это:
TemplateField foo = new TemplateField();
foo.ItemTemplate = new bar();
this.GridView1.Columns.Add(foo);
где бар такой:
public class bar : ITemplate
{
public bar()
{
}
public void InstantiateIn(Control container)
{
DropDownList ddl = new DropDownList();
container.Controls.Add(ddl);
}
}
(фактический выпадающий список заполняется)
Но ITemplate не содержит каких-либо свойств привязки данных для реализации, и класс TemplateField, похоже, тоже не имеет...
Что я делаю?
Изменить: другая половина в состоянии обрабатывать обновления, чтобы вернуться к исходному источнику данных. Если я просто обрабатываю события rowupdate, я не вижу свой TemplateColumn в списках старых значений / новых значений.
1 ответ
Решение
Вы обрабатываете событие GridView.RowDataBound.
Это объясняет вещи... http://www.aspnettutorials.com/tutorials/controls/dropdownlist-gridview-csharp.aspx