Ajouter une colonne a un gridview

Résolu
mickaelpfr Messages postés 197 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 avril 2009 - 22 mars 2006 à 08:59
mickaelpfr Messages postés 197 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 avril 2009 - 22 mars 2006 à 11:03
Bonjour a tous,
Je souhaite ajouter une colonne a mon gridview, dans le code behind , donc selon une condition ...

ma question est donc , comment ajouter dynamiquement une colonne a mon gridview ???

coordialement

2 réponses

mickaelpfr Messages postés 197 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 avril 2009 2
22 mars 2006 à 11:03
Je viens de résoudre le problème et je pose la solution pour les personnes que cela pourraient aider :

la méthode datagridview.Columns.add() prend en paramètre un [T_System_Web_UI_WebControls_DataControlField.htm DataControlField] celui ci n'étant pas directement instaciable , note de l'aide officiel :

"Comme la classe DataControlField est abstraite, vous ne pouvez pas
créer d'objet DataControlField directement. Ce constructeur est
couramment appelé par le constructeur d'une classe dérivée pour initialiser les
propriétés définies dans la classe DataControlField."

donc je suis passé par un BoundField()

Solution :
Remplissage du datasource via ma collection d'objet ( monCalendrierConsolide)
DetailGridView.DataSource = monCalendrierConsolide;
Déclaration et initialisation de mon Bounfield()
BoundField maColonne;
maColonne = new BoundField();
maColonne.HeaderText = "Colonne de test";
maColonne.DataField ="Duree";
et enfin ajout de ma nouvelle colone
DetailGridView.Columns.Add(maColonne);
Remplissage de mon datagridview
DetailGridView.DataBind();

Merci quand même a tous :)
2
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
22 mars 2006 à 10:06
tu devrais poser ta question sur le forum www.aspfr.com


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0