Combobox lié à la sélection de la précédente
Bonjour,
Je me tourne vers vous car aucune des méthodes que j'effectue ne marche et j'ai pas envie de tirer les derniers cheveux qui me reste ^^ :p .Tout d'abord, je vous explique mon problème :
En fait, j'ai deux combobox dont chacune contient différentes informations. Pour la première tout va bien, elle affiche ce que je souhaite. La seconde combobox elle doit contenir des informations qui contient un mot sélectionné dans la première. Le problème est que je vais simplement faire un refresh() de la seconde mais à chaque fois que je change la sélection dans la première. Les valeurs de la seconde se cumule.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Private Sub SalleP_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles SalleP.DropDownClosed
'On effectue un select dans la table MachineP pour récupère les différentes options
Try
connexion.ConnectionString = "Data Source=C:\bddplg.sdf;Persist Security Info=False;"
connexion.Open()
Dim reqP As SqlCeCommand = New SqlCeCommand("Select nomP from MachineP Order By nomP ASC", connexion)
Dim data As New DataTable
Dim adapt As New SqlCeDataAdapter
adapt.SelectCommand = reqP
adapt.Fill(data)
Dim carTrim As Char() = ("-")
Dim salle As String()
ListMachineP.Items.Clear()
If (SalleP.Focus.Equals(True)) Then
SalleP.Items.Clear()
End If
For i As Integer = 0 To data.Rows.Count - 1
Dim sap As String = data.Rows(i).Item("nomP")
Dim debut As String = NomMachine.Text
If (sap.Contains(debut)) Then
sap = Regex.Replace(sap, "[a-zA-Z]", "")
salle = sap.Split(carTrim)
If (Not SalleP.Items.Contains(salle(0).ToString)) Then
SalleP.Items.Add(salle(0).ToString)
End If
If (Not ListMachineP.Items.Contains(salle(1).ToString)) Then
ListMachineP.Items.Add(salle(1).ToString)
End If
End If
Next
connexion.Close()
Catch ex As Exception
MsgBox(ex)
End Try
NomMachine.Clear()
NomMachine.AppendText(Nom + SalleP.SelectionBoxItem.ToString)
End Sub |