Alimenter datagridview selon selection d'une combobox

cs_bacio Messages postés 13 Date d'inscription lundi 25 décembre 2000 Statut Membre Dernière intervention 19 février 2009 - 13 févr. 2009 à 11:03
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 14 févr. 2009 à 22:45
Bonjour, je débute en C# et j'ai beau eu chercher je n'ai pas trouver concretement ce que voulais.

J'ai une base de donnée mySQL

Pour faire simple il y a 2 tables : Année et Participants

J'ai une Form qui possède un combobox dans lequel on selectionne l'année et je voudrais que mon datagridview affiche les participants de l'année selectionner dans le combobox.

Si vous aviez un modele,
en vous remerciant d'avance

Cordialement, bco-style

6 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
13 févr. 2009 à 11:57
Salut.


Alors, grosso modo, lors de l'évènement "selectedIndexChanged" sur ta combo, tu fais un truc un peu comme ça :

private void MaComboBox_SelectedIndexChanged(object sender, EventArgs e)

{

    MaDataGridView.DataSource = DataTableRecupereeDepuisSQL(MaComboBox.SelectedItem);

}

Et dans "DataTableRecupereeDepuisSQL", ta requête ressemble à ça :string requete "SELECT * FROM Participants WHERE annee " + argument;

Après, tu remplis ta datatable avec un SQLAdapter et le tour est joué

Krimog :
while (!succeed = try()) ;
0
cs_bacio Messages postés 13 Date d'inscription lundi 25 décembre 2000 Statut Membre Dernière intervention 19 février 2009
13 févr. 2009 à 15:02
en fait finalement j'ai 3 tables, voici le MLD des 3 tables (en simplifié)


FOIRE (année, lib_foire);


INSCRIPTION_FOIRE (#année, num_inscription, date_inscription, #id_participant);


PARTICIPANT (id_participant, enseigne, nom, prenom);


J'ai mon combobox cb_choixfoire, dans lequel je selectionne une année

et dans mon datagridview dgv_participant_inscrit je veux afficher les participants inscrit l'année du combobox.


Si je réussi sa mon stage avancera grandement étant donné que c'est presque que de sa
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
13 févr. 2009 à 16:10
Donc au final, il faut juste que tu fasses une jointure en SQL, du genre

SELECT p.id_participant AS id_participant, p.enseigne AS enseigne, p.nom AS nom, p.prenom AS prenom
FROM participant p INNER JOIN inscription_foire i
ON p.id_participant = i.id_participant
WHERE i.année = 1998
ORDER BY nom

Change évidemment "1998" par l'année sélectionnée dans ta combobox (MaComboBox.SelectedItem.Text)

Krimog :
while (!succeed = try()) ;
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
14 févr. 2009 à 17:41
Salut,

En utilisant une requête paramétrée et pas une concaténation de chaine de caractères bien entendu.

/*
coq
MVP Visual C#
CoqBlog
*/
0

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

Posez votre question
cs_bacio Messages postés 13 Date d'inscription lundi 25 décembre 2000 Statut Membre Dernière intervention 19 février 2009
14 févr. 2009 à 22:35
Quelqu'un peut me montrer un exemple de requete paramétré?
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
14 févr. 2009 à 22:45
0