Alimenter datagridview selon selection d'une combobox

Signaler
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
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

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
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()) ;
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

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
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
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()) ;
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
98
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
*/
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

Quelqu'un peut me montrer un exemple de requete paramétré?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
98