mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 2009
-
22 mars 2006 à 08:59
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 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 ???
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 20092 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();