Solved

Loop through and delete an item from a combo box

Posted on 2007-11-18
6
1,362 Views
Last Modified: 2013-11-17
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.
0
Comment
Question by:mikesims10670
  • 4
  • 2
6 Comments
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 20310546
Hi mikesims10670,

Try iterating through the bound datatable....

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

Regards,

Wayne
0
 
LVL 1

Author Comment

by:mikesims10670
ID: 20310602
That seems to be working, but it fires the SelectedIndexChanged of cboCollector and actually chooses the first value in the list which then prompts the user as though they had chosed that item in the list. Do you have any idea how I can prevent this?
0
 
LVL 47

Accepted Solution

by:
Wayne Taylor (webtubbs) earned 500 total points
ID: 20310654
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
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 1

Author Comment

by:mikesims10670
ID: 20310728
Wayne, this is perfect! Thank you.

I'm have one more problem, and I created a question for it here:
http://www.experts-exchange.com/index.jsp?qid=22969536

Please take a look at it if you would.

Thank you,

Mike Sims
0
 
LVL 1

Author Comment

by:mikesims10670
ID: 20310746
Nevermind the last question, I figured it out.
0
 
LVL 1

Author Closing Comment

by:mikesims10670
ID: 31409880
Thank you very much. This saved me a lot of time.
mike@simtechdata.com
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now