We help IT Professionals succeed at work.

clearing a combo box

sergeiweerasuriya
on
Medium Priority
346 Views
Last Modified: 2008-03-06
I have 2 combo boxes and below is the code.

Private Sub FormMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ds As DataSet = New DataSet
        Dim Customers As DataTable
        Dim rowIndex As Integer
        Dim row As DataRow
        ds.ReadXml("Customers.xml")

        Customers = ds.Tables.Item(0)
        For rowIndex = 0 To Customers.Rows.Count - 1
            row = Customers.Rows.Item(rowIndex)
            If Not cboPostcode.Items.Contains(ds.Tables(0).Rows(rowIndex)("Post_Code")) Then
                cboPostcode.Items.Add(ds.Tables(0).Rows(rowIndex)("Post_Code"))
            End If
        Next
    End Sub

    Private Sub cboPostcode_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboPostcode.SelectedIndexChanged
        Dim ds As DataSet = New DataSet
        Dim Customers As DataTable
        Dim rowIndex As Integer
        Dim row As DataRow
        ds.ReadXml("Customers.xml")

        Customers = ds.Tables.Item(0)
        For rowIndex = 0 To Customers.Rows.Count - 1
            row = Customers.Rows.Item(rowIndex)
            If row("Post_Code") = cboPostcode.Text Then
                If Not cboStreet.Items.Contains(ds.Tables(0).Rows(rowIndex)("Add_Line2")) Then
                    cboStreet.Items.Add(ds.Tables(0).Rows(rowIndex)("Add_Line2"))
                End If
            End If
        Next

    End Sub

    Private Sub cboStreet_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboStreet.SelectedIndexChanged
        Dim ds As DataSet = New DataSet
        Dim Customers As DataTable
        Dim rowIndex As Integer
        Dim row As DataRow
        ds.ReadXml("Customers.xml")

        Customers = ds.Tables.Item(0)
        For rowIndex = 0 To Customers.Rows.Count - 1
            row = Customers.Rows.Item(rowIndex)
            If row("Post_Code") = cboPostcode.Text And row("Add_Line2") = cboStreet.Text Then
                lstStreetAddresses.Items.Add(ds.Tables(0).Rows(rowIndex)("Add_Line1"))
            End If
        Next
    End Sub

Lets say the at first i select cboPostcode, then click and select on the cboStreet and get the value to the list box. Now if i select another value from the cboPostcode the cboStreet should clear itself and then add the relevant record. All the items from the list should also be cleared. How do i do that?
Comment
Watch Question

That's pretty simple, use the ComboBox.Items.Clear() and the ListBox.Items.Clear() methods to clear the controls.

In the SelectedIndexChanged event handler of the first ComboBox, clear the other ComboBox *and* the ListBox, while in the SelectedIndexChanged event handler of the second ComboBox, you should only clear the ListBox.

_______________

  Nayer Naguib

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.