Win Forms
Vb.net
‘Εχω 2 ComboBox.
Το 1ο έχει την ομάδα των προϊόντων:
- Όλες οι Ομάδες
- 1η Ομάδα
- 2η Ομάδα
- 3η Ομάδα
Το 2ο έχει τα προϊόντα:
- Όλα τα προϊόντα
- Προϊόν 1 (1η Ομάδα)
- Προϊόν 2 (1η Ομάδα)
- Προϊόν 3 (3η Ομάδα)
- Προϊόν 4 (2η Ομάδα)
- Προϊόν 5 (2η Ομάδα)
- Προϊόν 6 (3η Ομάδα)
- Προϊόν 7 (1η Ομάδα)
Αυτό που θέλω να κάνω είναι:
1. Όταν επιλέγω από το 1ο ComboBox μια ομάδα προϊόντων να μου φέρνει τα αντίστοιχα προϊόντα στο 2ο ComboBox.
2. Όταν επιλέγω από το 2ο ComboBox ένα προϊόν, το 1ο ComboBox να ¨μετακινείται¨ στην αντίστοιχη ομάδα του προϊόντος.
Έχω υλοποιήσει την 1η περίπτωση χρησιμοποιώντας το ¨SelectedIndexChanged¨ του 1ου ComboBox.
Το πρόβλημα είναι όταν εφαρμόσω το ίδιο event και στο 2ο ComboBox, ¨πυροδοτείται¨ ξανά το event SelectedIndexChanged του 1ου ComboBox και πάει λέγοντας...
Και λίγο κώδικας:
'----------------------------------------------------------------------------------------------------------
Private Sub cmbProf_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbProf.SelectedIndexChanged
'1o ComboBox
Try
If cmbProf.SelectedValue = -1 Then
Me.QryProfTableAdapter.Fill(Me.DbDataSet.qryProf)
Else
Me.QryProfTableAdapter.FillBy(Me.DbDataSet.qryProf, New System.Nullable(Of Integer)(CType(cmbProf.SelectedValue, Integer)))
End If
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub cmbProfDetails_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbProfDetails.SelectedIndexChanged
'2o ComboBox
Dim profDetailsValue As Integer
profDetailsValue = New System.Nullable(Of Integer)(CType(cmbProfDetails.SelectedValue, Integer))
Me.cmbProf.SelectedValue = profDetailsValue
End Sub
'----------------------------------------------------------------------------------------------------------
Πως θα μπορούσε να υλοποιηθεί ο συγχρονισμός 2 ComboBox;
Φιλάρετος Σεβαστιάδης.
Albert Camus: Life is the sum of your choices.