Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1647
  • Last Modified:

Frustrated try to Loop through combobox VB.Net

Hi EE,

Getting really frustrated.  I have search everywhere trying to find an example of how to loop through items in a combobox.  It was so EASY in VB 6.
1.  I have a table Company that has a StateID
2.  I fill the table and capture the StateID value
3.  I fill my State combobox using the code below.
Now I need to find which item in the list has the same stateid.
I tried all kinds of things, but nothing works.
Please help
Thank you


Public Sub FillComboBox(ByVal cnt As ComboBox)
        'example fill states
        Dim ds As New DataSet
 
        If DatabaseToUse() = BizObjs.DBType.Access Then
            'Access Database
            Dim cFields As New cFieldTableNames            
            cFields.ComboTable = msTblName
            SelectStr = cFields.ReturnComboString()   'Returns my select statement
            Dim dc As New OleDb.OleDbConnection(ConnectionString)
            Dim da As New OleDb.OleDbDataAdapter(mSelectStr, dc)
 
            Try
                da.Fill(ds)
                dc.Close()
 
                cnt.DataSource = ds.Tables(0)
                cnt.DisplayMember = cFields.SendToCorrectFieldProcedure(3)  'Gets the field name for the display member
                cnt.ValueMember = cFields.SendToCorrectFieldProcedure(1)  ' Get the field name (StateID) for the valuemember
 
 
            Catch ex As Exception
 
                MessageBox.Show(ex.Message)
                Throw ex
 
            Finally
                dc.Close()
                da.Dispose()
            End Try
        End If
 
    End Sub

Open in new window

0
Sheritlw
Asked:
Sheritlw
  • 5
  • 3
1 Solution
 
DhaestCommented:
why re-invent the wheel for finding a specific item in a combobox?  The control already has the functionality built in....

// This will find the first item with "TEST" as it's value.
Dim index As Integer = comboBox1.FindStringExact("TEST")
// this will select the first item that has "TEST" as it's value.
comboBox1.SelectedIndex = index
0
 
SheritlwAuthor Commented:
I tried the solution provided again as follows
i = cbo.FindStringExact(iValue.ToString)
it returns -1
0
 
DhaestCommented:
Can you give some example of values you see in your combobox and what value you are searching for ?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
SheritlwAuthor Commented:

Yes, I am search for
IDs are autonumber fields in Access

ID 1 goes with Alaska
ID 2 goes with Alabama
ID 3 goes with Arkansa
ID  4  goes with State Arizona
ID 5 goes with California
ID 6 goes with Colorado

etc.
thanks
0
 
SheritlwAuthor Commented:
My company table holds value 4 in its StateID field.
I need the combo to select id 4 and show Arizona.
0
 
DhaestCommented:
Perhaps this can help you
Dim dt As DataTable = DirectCast(comboBox1.DataSource, DataTable)
Dim yourState as string
For i As Integer = 0 To dt.Rows.Count - 1
    Dim displayText As String = dt.Rows(i)(comboBox1.DisplayMember).ToString()
    Dim valueItem As String = dt.Rows(i)(comboBox1.ValueMember).ToString()
    ' Process the object depending on the type
    if valueItem = "TheValueYouAreSearchingFor" then
       comboBox1.SelectedIndex = i
       yourState = displayText
   end if
Next
0
 
SheritlwAuthor Commented:
Hi Dhaest,

It worked!!!!  Thank you, thank you, thank you.
I have another question open that asks the same thing.  It is titled ...
"Retrieve Index of Matching value in Combobox"
Put something in there and I will give you those points to.
Thanks again
0
 
SheritlwAuthor Commented:
Excellent.  Gave me the perfect example.
Thanks for your help!
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now