[C#] Insertion d'une ligne dans un datagrid existant

Signaler
Messages postés
6
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
20 juillet 2005
-
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
Hello !!!

Je cherche à insérer une nouvelle ligne à un datagrid existant, mais rien ne se passe ...

J'ai donc inséré manuellement toutes les colonnes désirées de mon datagrid. J'ai créé un dataTable (dtProduit) et j'ai relié le tout à mon datagrid en tant que datasource.

Voici le code que je produit :


Code:
,
----

DataRow dr = dtProduit.NewRow();

dr["Nom"] = produit.Nom;
dr["Type"] = produit.Type.Nom;
dr["Contenu (en ml)"] = produit.Contenu.real.ToString();
dr["Prix"] = produit.Prix.real.ToString();

dtProduit.Rows.Add(dr);
dgProduit.Refresh();

Produit est une instance que je reçois en paramètre de ma procédure.
Eh oui elle est pleine ... j'ai vérifié plusieurs fois. J'ai également contrôlé les noms de mes colonnes et ça à l'air aussi correct.
Quand je contrôle le nombre de lignes, il me dit bien qu'il y en a un supplémentaire, mais je ne la vois pas ...

Donc je ne vois pas trop pourquoi cela ne fonctionne pas ... à moins que j'ai oublié que référencer quelque chose ... ?

Merci d'avance !!!!

3 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Ajoute cette ligne :



dtProduits.AcceptChanges();

dtProduits.Rows.Add(dr);



Et tu peux enlever le Refresh()

Mx
Messages postés
6
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
20 juillet 2005

Merci ! ça fonctionne à merveille !!

Mais juste une dernière question puisque je suis là ... comment accède-t-on au propriété d'une colonne ? notamment pour fixer sa largeur ?

et est-ce possible de rendre "read only" seulement quelques colonnes et non toutes ?

Encore merci !!
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Je crois que tu peux jouer avec la mise en forme d'un datagrid a l'aide de la classe DatagridTableStyle



Regarde cet exemple



http://support.microsoft.com/?id=812422

Mx