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

Другие вопросы по тегам