Question : Loop through and delete an item from a combo box

I set up a combo box in VB.NET CF using the following code:

sql = "Select ColGUID, Collector From Collectors"  (this is WAY over simplified, but the number of columns and the type of data is the same)

Dim ds As New DataSet
Dim da As New SqlCeDataAdapter(sql, MainForm.conn)
da.Fill(ds, "Collectors")

If ds.Tables(0).Rows.Count < 1 Then
     MsgBox("All of the dust collectors in this location have been recorded today", MsgBoxStyle.OkCancel)
     da.Dispose()
     ds.Dispose()
     MainForm.G.ExitApp(True)
End If

With cboCollector
     .DataSource = ds.Tables("Collectors")
     .DisplayMember = "Collector"
     .ValueMember = "ColGUID"
End With
da.Dispose()
ds.Dispose()
cboCollector.Enabled = True

Now I would like to go back and iterate through each "line" in the combobox and delete items based on a specific criteria ... for example, I would like to do something like this:

With each item in cboCollector
   If condition true then DeleteItem
End With

I've looked at different examples and none of them seem to work ... is this even possible with compact framework? I've tried to exclude the itmes by being creative with my sql statement, but the sql command is just too darn complicated and I can't make it work. The item(s) I want to delete are really simple to find after the combobox is populated.

Answer : Loop through and delete an item from a combo box

The normal method is to have a class level boolean variable (ie, declared outside all procedures), and set it to true when deleting the item/s....

    Private Deleting As Boolean

...then set it to true when deleting, and set it back to false when done....

        Deleting = True
        For Each dr As DataRow In CType(cboCollector.DataSource, DataTable).Rows
            If dr("ColGUID") = "whatever" Then
                dr.Delete()
            End If
        Next
        Deleting = False

...and then in the SelectedIndexChanged event, use this line to exit the sub....

        If Deleting Then Exit Sub

Wayne
Random Solutions  
 
programming4us programming4us