Comment lier par programmation des données à une colonne de modèle d'élément personnalisé pour un GridView? Jusqu'à présent, je l'ai fait quelque chose de similaire à ceci:BindData à ITemplate pour GridView dans le code
TemplateField foo = new TemplateField();
foo.ItemTemplate = new bar();
this.GridView1.Columns.Add(foo);
où la barre est comme ceci:
public class bar : ITemplate
{
public bar()
{
}
public void InstantiateIn(Control container)
{
DropDownList ddl = new DropDownList();
container.Controls.Add(ddl);
}
}
(la dropdownlist réelle est peuplée)
Mais ITemplate ne contient aucun type de propriétés de liaison de données à implémenter, et la classe TemplateField ne semble pas en avoir non plus ...
Que dois-je faire?
Modifier: L'autre moitié est capable de gérer les mises à jour pour revenir à la source de données d'origine. Si je ne gère que les événements rowupdate, je ne vois pas mon TemplateColumn dans les listes oldvalues / newvalues.
Qu'en est-il pour les mises à jour? Si je gère l'événement RowDataUpdating, je ne peux pas voir ma colonne de modèle pour mettre à jour la source de données – tbischel