Remplir les ligne d'une data grid

maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006
- 9 août 2006 à 12:35
hotsizzle
Messages postés
6
Date d'inscription
jeudi 16 novembre 2006
Statut
Membre
Dernière intervention
1 octobre 2008
- 1 oct. 2008 à 16:47
Salut tout la monde
je souhaiterai remplir les ligne d'une dataGridView a partir du resultat d'une requete.Ma requet me renvoie plusieurs ligne je voudrai recupérer ces linge et les inserer dans la 1ere colonne de mon dataGridView.


Merci d'avance de vos reponses

14 réponses

leprov
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
9 août 2006 à 13:14
le plus simple est de récupérer le résultat de ta requete dans un dataset, et d'affecter ce dataset a la propriété datasource de ton datagridview.
0
maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006

9 août 2006 à 14:07
salut,
merci pour la proposition.c'est vrai qu'avec un dataset ça sera bcp plus simple.J'aimerai bien savoir comment faire pour recuperer le resultat de ma requete dans un dataSet.
Sinon moi le resultat de ma requete est dans un DataReader.J'arrive à le parcourir mais je ne sais pas comment faire pour ajouter les lignes de mon dataGridView au fur et a mesure que mon datarreader est parcouru.
0
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
9 août 2006 à 14:16
Pour remplir un DataGridView... tu peux t'y prendre de plein de manières différente...
mais toi ce que tu veux c'est le lier à des données. donc soit tu construits un DataSet que tu remplis (avec une SqlDataSource) soit tu utilises une collection d'objet que tu auras créé.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006

9 août 2006 à 14:54
salut
encore merci pour vos reponses
 peux etre que je me suis mal exprimée car je ne comprned toujours pas pourquoi mettre le resultat de ma requete dans un DataSet.
ci-dessous et mon bout de code qui ma permet de parcourir le resultat de ma requete et d'afficher les element de ma 1ere colonne de resultat.
using (
DbDataReader rdr = macommande.ExecuteReader())


{



while
(rdr.Read())



{
//affichage de la premiere colonne








Console
.WriteLine(rdr.GetString(0));


}


moi je voudrai recupérer le rdr.GetString(0) et le mettre dans les ligne de ma dataGrid.





merci pour vos proposition

Maité
0

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

Posez votre question
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
9 août 2006 à 14:57
parce que le DataGridView est fait pour travailler avec un DataSet !

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006

9 août 2006 à 15:02
ah d'accord, je ne savais pas.Est ce que stp tu pourrai me dire comment faite pour mettre le resultat de ma requete dans un DataSet?

Maité
0
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
9 août 2006 à 15:08
le plus simple (vu qu'apparement tu es en .net 2.0), c'est de créer un SqlDataSource (où du moins celui qui correspond à ta base de données).
Cet objet SqlDataSource va te permettre de "brancher" ta DataGridView sur ton DataSet, et par l'intermédiaire du DataTableAdapter qu'il va te créer, remplir ton DataSet.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006

9 août 2006 à 15:35
mon probleme c'est que je ne sais pas comment faire pour traduire le resultat de ma requete sql en dataSet.En plus c'est une requete avec 3 jointure et une clause Where.Je sais pas comment faire pour que le resutat soit un DataSet.
est ce que tu aurai un exemple de code?
encore merci pour vos reponses

Maité
0
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
9 août 2006 à 15:43
bon ok... on va faire simple... sans DataSet...

donc... il faut que tu suives tous les étapes sans en sauter une seule !

1. Tu crées une classe représentant une ligne de ta requête...  (par exemple MaLigne)
2. Tu crées une collection qui va te permettre de stocker les résultats de ta requête,
    --> par exemple : List<MaLigne> resultat;
3. Pendant le parcours de tes résultat (DataReader) tu remplis la collection que tu viens de créer
4. Tu donnes à ton DataGridView la collection que tu viens de créer...
    --> ex : monDataGridView.DataSource = resultat;

voila... tes résultats s'affiche dans ton DataGridView.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006

9 août 2006 à 15:55
je ne sais comment m'y prendre pour la 1 ere étape.je ne sais pas comment faire pour creer la classe qui represente ma requete.
ma requete est un string et je l'excute en utilisant un sqlCommand.
Qu'est qu'il faut que je mette dans ma classe?

Maité
0
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
9 août 2006 à 15:59
ta requête retourne des lignes, elles-même composées de champs...
à partir de là, tu peux créer une classe reflétant ces lignes...

Ex :
Si mes lignes sont :
NomUser, Varchar(50)
PrenomUser, Varchar(50)
AgeUser, int

je peux construire une classe comme ceci :

public class User {
    public string Nom {
       get {...}
       set {...}
    }

    public string Prenom { ... }

    public int Age { ... }
}

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
maitesn1
Messages postés
54
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
29 août 2006

9 août 2006 à 16:04
ok je vois ,


merci je vvais le faire et vraiment merci

Maité
0
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
9 août 2006 à 16:06
de rien :)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
hotsizzle
Messages postés
6
Date d'inscription
jeudi 16 novembre 2006
Statut
Membre
Dernière intervention
1 octobre 2008

1 oct. 2008 à 16:47
Bonjour,

Je suis dans le même cas que maïté, j'arrive à remplir ma collection d'objet à partir de ma base de donnée, cette collection je l'ai déclaré en static à l'intérieur d'une classe static pour pouvoir l'utiliser dans tout mon projet.
Ma collection contient donc bien les objet que je souhaite afficher dans mon datagrid, mais datagrid.datasource = maListe; ne rempli pas mon datagrid :/ et je ne vois pas ou est le souci.

Merci d'avance de vos réponses.
0