DatagridView qui ne se remplit pas!?!

luudii34 Messages postés 24 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 16 avril 2013 - 3 mars 2009 à 11:09
luudii34 Messages postés 24 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 16 avril 2013 - 3 mars 2009 à 12:01
Bonjour!!!

J'ai un problème avec un datagridview.
Je vous explique le contexte: j'ai un datagridview que je remplis automatiquement à partir d'une base de données, j'ai sélectionné les colonnes que je souhaite afficher,je les ai renommé, jusque là tout va bien, mes résultats s'affichent.
Ensuite un utilisateur doit saisir des infos et à partir de là mon datagridview doit se mettre à jour à partir d'une liste que j'obtiens à partir des saisies utilisateurs.
Le problème c'est que rien ne s'affiche dans mon datagridview (pas de mise à jour), juste le nom des colonnes précédentes.
Je pense que le problème vient du fait qu'il ne sait pas dans quelle colonne mettre les informations qu'il a récupéré.
Je ne sais pas comment faire pour coder par exemple: "mettre les numéros d'immatriculations de la liste mesCamions dans la colonne immatriculation, les nom dans la colonne nom..."

Quelqu'un peut il m'aider svp???

voici mon code:
while (dr.Read())
{
mesCamions.Add(new camion());
mesCamions[i].Immatriculation = dr["AUTMAT"].ToString();
mesCamions[i].Adresse = dr["LBADR1"].ToString();
mesCamions[i].Complement = dr["LBADR2"].ToString();
mesCamions[i].DateEntree = dr["DTENTA"].ToString();
mesCamions[i].Nom = dr["NMCLI"].ToString();
mesCamions[i].Nomcla = dr["NMCLA"].ToString();
mesCamions[i].Ville = dr["LBVILL"].ToString();
mesCamions[i].Notel = dr["NOTEL1"].ToString();
mesCamions[i].Cp = dr["CDPOST"].ToString();
i++;
}

dr.Close();
cn.Close();
dataGridView1.DataSource = mesCamions;

(Quand j'espionne "mesCamions" la liste contient bien ce que je voulais.)

2 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
3 mars 2009 à 11:45
Salut
Je crois que c'est un truc du genre :
DataPropertyName = "MaPropriété"; (Il faut bien mettre une propriété (get{} set{}), pas un membre)

Sinon, en ce qui concerne le remplissage de la liste, je te conseille de prendre l'habitude de le faire comme ça :
Camion c = new Camion();
c.Immatriculation = dr["AUTMAT"].ToString();
c.Adresse = dr["LBADR1"].ToString();
...
mesCamions.Add(c);

parce qu'avec ta méthode, il suffit qu'il y ait par exemple un deuxième thread qui touche à ta liste, et ton i ne correspondrait pas forcément au bon.

Krimog :
while (!succeed = try()) ;
0
luudii34 Messages postés 24 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 16 avril 2013 1
3 mars 2009 à 12:01
Merci mais j'ai déja essayé avec datapropertyname et ca ne me prend pas les colonnes de ma liste.
Autant ca ne vient pas de mes colonnes, mais je ne vois pas pourquoi le datagridview ne veut pas se remplir.
0
Rejoignez-nous