Combobox lié à un autre en vb.net

Signaler
Messages postés
13
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
30 août 2009
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
salut,j'ai deux combobox,l'un je veux q'il m'affiche les famille produit,et l'autre pour chaque famille le produit correspondand,mais en executant mon code je vois qui il m'affiche seulement les produits correspondand au premier enregistrement dans famille,voila mon code
dss.Clear()

dfa.Fill(dss,

"famille")

'DataGrid2.SetDataBinding(dss, "produit")ComboBox1.DataSource = dss.Tables(
"famille")ComboBox1.DisplayMember "designation"ComboBox1.ValueMember

"num"

Dim dp
As
New SqlDataAdapter(
"select * from produit where num ='" & ComboBox1.SelectedValue &
"'", conn)

'ComboBox1.ValueMember.Trim() 

'" & TextBox1.Text & "'"

Dim cp
As
New SqlCommandBuilder(dp)dp.Fill(dss,

"produit")ComboBox2.DataSource = dss.Tables(
"produit")ComboBox2.DisplayMember "nomp"ComboBox2.ValueMember

"npro"

je vous que si je choisi une famille dans le combobox1,jen'aurrais dans le combobox2 que les produits correzpondant à cette famille,mais comment le faire,que dois je ajouter ds mon code

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Il te faut , dans l'évènement Change de ta combobox1 redéfinir la datasource (et donc la requette) de la combobox2

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
13
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
30 août 2009

merci pour ta reponse,j'ai fait ce que tu m'a dit ,j'ai ajouter ds le code :

Private
Sub ComboBox1_SelectedIndexChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles ComboBox1.SelectedIndexChanged

ComboBox2.DataSource = ds.Tables(
"produit")ComboBox2.DisplayMember "nomp"ComboBox2.ValueMember

"npro"

End
Sub
mais cela ne marche pas encor,le probleme reste,le combobox2 affiche seulement les enregistrements liés au premier enregistrement dans le combobox1,qu'est ce que je doit ajouter ds le code ? s'il vous plait j'ai besoin de régler ce probleme le trés top possible
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Forcement tu ne recharge pas ta table.

Avant d'associer ta table au combo, il faut d'abord que tu réexecute ta requette Select et que tu reremplisse la table

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
13
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
30 août 2009

salut casy,j'ai pas bien compri ce que tu veux dir,peux tu me l'expliquer par le code,avec le code que je t'ai montré que dois je ajouter?
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Private
Sub
ComboBox1_SelectedIndexChanged(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles
ComboBox1.SelectedIndexChanged



Dim

dp

As
New
SqlDataAdapter(

"select * from produit where num ='"
& ComboBox1.SelectedValue &

"'"
, conn)










Dim
cp

As
New
SqlCommandBuilder(dp)dp.Fill(dss,"produit"
)



ComboBox2.DataSource = dss.Tables("produit"
)




ComboBox2.DisplayMember ="nomp"







ComboBox2.ValueMember ="npro"






End
Sub









---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php