Alimenter combobox selon selection d'une autre 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
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
-
Bonjour, je n'arrive pas a réaliser une chose surement simple vu que je débute.
Je vous explique :

Voici mon code de ma cb_selectfoire qui affiche les années (2007, 2008) de la table FOIRE. Je veux alimenter ma cb_selectsalon qui doit afficher l'id_salon selon l'année selectionné dans cb_selectfoire

private void cb_selectfoire_SelectedIndexChanged(object sender, EventArgs e)
{
DataRowView DRV = (DataRowView)cb_selectfoire.SelectedItem;
int I = (int)DRV.Row["annee"];
dsSalon myDsSalonsByFoire = foire_de_vienne.sqlFoire.getSalonsByFoire(I);
cb_selectsalon.DataSource = myDsSalonsByFoire.dt_salon[0];
cb_selectsalon.DisplayMember = "id_salon";
}

Les requêtes dans les datasets sont je pense bonne.

J'ai droit a l'erreur "La référence d'objet n'est pas définie à une instance d'un objet." a la ligne "cb_selectsalon.DataSource = myDsSalonsByFoire.dt_salon[0];" hors je vois pas le soucis :s

Quelqu'un pour m'éclairer?

11 réponses

Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
Salut,

Utilise le débugger et mets un break point à cette ligne.
C'est sans doute le dataset qui est null
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

en effet myDsSalonsByFoire est null, qu'est ce que sa veux dire? d'où viens le problème ? :o
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
Ca veut dire qu'il faut que tu vérifie que tu remplisses bien ton data set quelque part avant de t'en servir comme datasource. Tu le remplis comment?
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

J'ai cette fonction getSalonsByFoire :

// FONCTION SALON PAR ANNEE
public static dsSalon getSalonsByFoire(int MySalons)
{
dsSalon ds = new dsSalon();
try
{
dsSalonTableAdapters.ta_salon dtMesSalonsByFoire = new foire_de_vienne.dsSalonTableAdapters.ta_salon();
dtMesSalonsByFoire.FillSalonsByFoire(ds.dt_salon, MySalons);
}
catch (DbException)
{
ds = null;
}
return ds;
}

Merci de ton aide en tout cas
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
Bah mets un break point dedans cette méthode pour vérifier qu'elle est bien appelée.
Si elle est appelée, alors il y a sans doute une exception qui se produit et elle te retourne un null
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

je ne vois pas ou placer le point exactement pour voir cela?

par contre mon int I prend bien pour valeur 2007
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
Dans la méthode getSalonsByFoire, au niveau de dsSalon ds = new dsSalon();

bonne journée
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

en effet tu as raisn elle est bien null, mais je comprend pas pourquoi!
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
tu as mis un breakpoint dans getSalonByFoire ? ALors tu dois pouvoir quelle est l'exception
Messages postés
13
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
19 février 2009

L'exception NullReferenceException n'a pas été gérée par le code utilisateur!

Mais pourquoi il est null alors qu'il est censé être rempli?
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
J'abandonne