Remplir un datagrid ligne par ligne

delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004 - 19 mai 2004 à 14:55
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 19 mai 2004 à 18:17
bonjour, :)
je voudrais récupérer des infos de ma base avec un critère. Je parcours donc toute ma table et, à chaque enregistrement, je teste mon critère. S'il est ok, je récupère ce qui m'intéresse, sinon, je passe au suivant. Ca donne donc quelque chose comme :

for(i=0;i<nb_enr;i++)
{
   if(test=true)
   {
      s="select * from table1 where ..."
      s2"select * from table2 where ..."
   }
}

Mon problème est que je voudrais balancer toutes ces données sur un datagrid, et que je ne sais pas comment faire (je me retrouve avec la dernière ligne valide et pas avec toutes). :sad)
Quelqu'un a une idée ?

des frites !!!

5 réponses

Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
19 mai 2004 à 15:10
jette un oeuil a ca :

http://www.csharpfr.com/forum.v2.aspx?ID=211672

ca peu aider....

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004
19 mai 2004 à 16:40
ça marche po :sad)

Mon code est :

dataSet ds_final = new dataSet();
...
if(mon_test=true)
{
   string selStr2="SELECT * from ma_table WHERE id=(SELECT id FROM ma_table_principale WHERE sujet_cle_unique = "+ sujet_cle_unique +")";

System.Data.OleDb.OleDbDataAdapter adapt2 = new System.Data.OleDb.OleDbDataAdapter(selStr2,connStr);
ds = new System.Data.DataSet();

try
{
   adapt2.Fill(ds);
   string test=(string)ds.Tables[0].Rows[0][0].ToString();
   MessageBox.Show(test);
   ligne=ds.Tables[0].Rows[0];
   ds_final.Tables[0].Rows.Add(ligne);
   MessageBox.Show((string)ds_final.Tables[0].Rows[0][0].ToString());
}
catch{}
}
...


Le messageBox s'affiche bien comme il faut mais le dataset prend une ligne vide (s'il la prend, c'est pas sur).
vois pas ce qui va pas, j'avais essayé de faire pareil que le code du lien...

des frites !!!
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
19 mai 2004 à 17:15
le datasource de ton datagrid est bien initialise avec ton dataset ???

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004
19 mai 2004 à 17:24
oui, mais ce qui m'étonne c'est que le programme ne passe pas la ligne

ds_final.Tables[0].Rows.Add(ligne);

mais apparemment ne lance aucun problème d'exception...

des frites !!
0

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

Posez votre question
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
19 mai 2004 à 18:17
il me semble que cela ne fonctionne pas parc que tu affecte une ligne d'un dataset a un autre dataset...
et a priori C# aime pas trop ca...il reconnait que tel ligne appartenait a tel dataset....(cf le lien que j'ai poster plus tot)
il faut vraiment affecter colonne par colonne chaque element de ta ligne....

et apres faire le Add dans ton dataset final....

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous