Ajouter une colonne à un DataGird

adressprov Messages postés 62 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 24 mars 2007 - 31 juil. 2006 à 11:17
adressprov Messages postés 62 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 24 mars 2007 - 9 août 2006 à 12:14
Bonjour à tous,


Voila j'aimerais rajouter une colonne à mon DataGrid qui a déjà été préalablement remplit par mon dataSet.

Est-ce possible et si oui comment fait-on ?


Merci. ;-)

7 réponses

cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
31 juil. 2006 à 13:45
Salut,


que veux-tu ajouter exactement? Des données ou est-ce que tu veux ajouter une colonnes de contrôles (images, checkbox.....)?





<hr />

@+  
0
adressprov Messages postés 62 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 24 mars 2007
31 juil. 2006 à 14:35
En fait, cette colonne ne va rien contenir, je veux juste mettre de la couleur dedans.

J'ai une fonction qui initialise un tableau de 16 couleurs


private string[] CreateTabColor() {

    string[] Color = new string[] {"#FF0000","#00FF00","#0000FF","#FFFF00","#9900CC",etc...};

    return Color;

}


Puis après j'aurais aimé faire

for (int i = 0; i<=16;i++){

    MonDataGrid.Columns.Add(Color[i]);

}


C'est faisable ?
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
31 juil. 2006 à 14:42
Je ne sais pas sur quelle plate-forme tu bosses, mais tu peux ajouter une colonne à ton DataGrid (ou GridView avec VS2005). Et sur l'évènement  "Item DataBound"  (ou quelquechose comme ça) tu places ton code ci-dessus.

<hr />
@+  
0
adressprov Messages postés 62 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 24 mars 2007
31 juil. 2006 à 15:27
Je suis sur VS 2003.

Et il m'indique :

La méthode surchargée correspondant le mieux à
'System.Web.UI.WebControls.DataGridColumnCollection.Add(System.Web.UI.WebControls.DataGridColumn)'
possède des arguments non valides


et


Argument '1' : impossible de convertir de 'string' en 'System.Web.UI.WebControls.DataGridColumn'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
31 juil. 2006 à 15:37
Je pense que tu dois ajouter une colonne dans ta source de données. Renseigne toi sur http://www.csharpfr.com/

Tu devrais y trouver ton bonheur. Bon courage

<hr />
@+  
0
adressprov Messages postés 62 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 24 mars 2007
31 juil. 2006 à 17:46
Ok merci, je vais aller voir sa de plus près.
0
adressprov Messages postés 62 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 24 mars 2007
9 août 2006 à 12:14
Ok je suis aller sur le forum de csharp, il me renvoie ici, .


Voici ce qu'on m'a indiqué mais cela ne marche pas car c'est pour du WinForm. J'ai essayé de le réadapter sans trop de réussite.

privatevoid AddColumn(
Color defColor,
paramsColor[] colors)
{
  
// Add the column
   DataGridColumn col = new DataGridColumn();
       //col.Name "myCol";> je n'ai pas cette propriété

 // col.DefaultCellStyle.BackColor = defColor;
// Default backcolor =>
  col.ItemStyle.BackColor =defColor;

  // this.dataGridView.Columns.Add(col) =>
 this.DataGridCom.Columns.Add(col);

   // Fill the rows...
  //  for(int i=0; i<this.dataGridView.Rows.Count; i++)
   
for(int i=0; i<this.DataGridCom.Items.Count; i++)
  {
      
if (i == colors.Length)
break;
// Default value
      //this.dataGridView["myCol", i].Style.BackColor = colors[i];
      // Je ne peux pas appeler ma colonne puisque je n'ai pas pu la nommer

  }
}


Appelle de la méthode :
this.AddColumn(
Color.Red,
Color.Blue,
Color.Violet);

Petite légende Orange => le code indiqué
 Rouge => Ce qui est
infesable car cela n'existe pas sur webform

Noir => le code que j'ai remplacé pour l'adapter à webform


Lorsque je compile ce petit bout de code, une erreur apparait :

"Impossible de créer une instance de la classe abstraite ou de l'interface 'System.Web.UI.WebControls.DataGridColumn'"


Vous avez une petite idée ?
0
Rejoignez-nous