Questions sur combox

Résolu
cs_niblon
Messages postés
59
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
20 septembre 2011
- 12 sept. 2010 à 05:34
cs_niblon
Messages postés
59
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
20 septembre 2011
- 13 sept. 2010 à 00:50
Bonjour a tous

je voudrais savoir si c'est possible ou pas sans base de donnée de realiser cette operation entre deux combobox.

J'ai un combobox1 ou je voudrais qu'il me filtre les reponse du combobox2.(en gros)
J'eplique mieu :)
dans mon premier combo1 j'ai des items suivant:
A = air / eau / feu
B = eau / feu
C = air
D = air / feu
je voudrais que si l'utilisateur selectionne "C" il n'y ai que les item ou apparait "air" (donc A + C + D), si l'utilisateur selectionne "B" il n'y aura que "B" dans le combo2.

Si quelqu'un aurais une reponse , voir un exemple :)
Merci d'avance
@+Niblon

3 réponses

foliv57
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
9
12 sept. 2010 à 23:49
Bonjour,

Tout dépend de quelle manière sont rempli vos combobox.

S'ils sont rempli par une source de données, il suffira d'appliquer un filtre à la source

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    
    Me.BindingSource2.Filter = String.Format("MonChampLibelle LIKE '%{0}%'", Me.ComboBox1.SelectedText)

End Sub


S'ils sont rempli manuellement, il faudra parcourir tous les items et supprimer ceux qui ne contiennent pas le filtre.

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

    For i As Integer = (Me.ComboBox2.Items.Count - 1) To 0 Step -1
        If Not CType(Me.ComboBox2.Items(i), String).Contains(Me.ComboBox1.SelectedText) Then
            Me.ComboBox2.Items.RemoveAt(i)
        End If
    Next

End Sub
3
cs_niblon
Messages postés
59
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
20 septembre 2011

13 sept. 2010 à 00:09
Bonjour et Merci,


j'avais oublier de preciser les items (collections) sont rentrer directement dans la fenentre propriete du combo1 et le combo2 aussi.

je regarderais cela demain.
Merci
Niblon
0
cs_niblon
Messages postés
59
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
20 septembre 2011

13 sept. 2010 à 00:50
Bonsoir,

Encore moi ,je voulais juste prevenir que j'ai reussi mais en faisait ce code , vous parais t'il bien ?

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
               If ComboBox1.Text = "A" Then
            ComboBox2.Items.Add("eau")
            ComboBox2.Items.Add("terre")
            txt_Nbjour.Text = Ge + 7
            txt_Nbjour1.Text = Csae + 15
            txt_Nbjour2.Text = Frais + 49
            txt_Nbjour3.Text = cage + 7
        End If
        If ComboBox1.Text = "B" Then
            ComboBox2.Items.Add("Terre")
            txt_Nbjour.Text = Ge + 5
            txt_Nbjour1.Text = Csae + 14
            txt_Nbjour2.Text = Frais + 28
            txt_Nbjour3.Text = cage + 7
        End If


Merci d'avance.
Niblon
0