Solved

Populate Combbobox in DataRepeater

Posted on 2009-07-05
14
383 Views
Last Modified: 2013-11-26
Hi Experts

I have a Combo box in a data repeater witch I want to populate with a few values from a MS access database. I use the following code to try and populate the Combo box:

        Vehicle_NameComboBox.DataSource = TransportInfoSys_beDataSet.Tables("Vehicles")
        Vehicle_NameComboBox.DisplayMember = "Vehicle_Name"

But when i run this command there doesn't happen anything.

Any help would be greatly appreaciated

Thanx in advance
Vehicle_NameComboBox.DataSource = TransportInfoSys_beDataSet.Tables("Vehicles")
        Vehicle_NameComboBox.DisplayMember = "Vehicle_Name"

Open in new window

0
Comment
Question by:Benvor
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 6
14 Comments
 
LVL 53

Expert Comment

by:Dhaest
ID: 24783069
First, I would suggest not using the reader.  Create a dataset and dataadapter and set the datasource of the combobox = dataset.  From there you can set the display member and value member.  Here is the code:


Dim dataset As New DataSet
 
Using connection As New SqlConnection(connectionString)
   Dim adapter As New SqlDataAdapter()
   adapter.SelectCommand = New SqlCommand("select Name,ID from tblName", connection)
   adapter.Fill(dataset)
End Using
 
ComboBox1.DataSource = dataset.Tables(0)
ComboBox1.DisplayMember = "Name"
ComboBox1.ValueMember = "ID"

Open in new window

0
 
LVL 53

Expert Comment

by:Dhaest
ID: 24783072
Using a datareader, you can't use the binding !
Dim strConnect as Strng
strConnect = Session("ConnectionString") 
 
' Open the Connection 
Dim Con as new System.Data.SQLClient.SQLConnection(strConnect) 
Con.Open() 
 
' SQL Statement
Dim strSQL as String
strSQL = "SELECT State_Name, State_Code FROM TableState ORDER BY State_Name"
 
' Command, Data Reader 
Dim Com as new System.Data.SQLClient.SQLCommand(strSQL, Con) 
Dim rdr as System.Data.SQLClient.SQLDataReader = Com.ExecuteReader() 
 
' Populate the Control 
While rdr.Read()
   Dim newListItem as new ListItem() 
   newListItem.Text = rdr.GetString(0)
   newListItem.Value = rdr.GetString(1) 
   DropDownList1.Items.Add(newListItem) 
End While

Open in new window

0
 

Author Comment

by:Benvor
ID: 24783100
Sorry but I'm confused, witch code must I use now?
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!

 
LVL 53

Expert Comment

by:Dhaest
ID: 24783172
You'll have to make a choice :)

I you want to use the binding like you set in your question, you'll need the first solution
0
 
LVL 9

Expert Comment

by:Rahul Goel ITIL
ID: 24783201
Add one more line

Vehicle_NameComboBox.DataBind()
0
 

Author Comment

by:Benvor
ID: 24783230
'Databind' is not a member of 'System.Windows.Forms.Combobox'.
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 24783250
is your datatable filled before you do this:
Vehicle_NameComboBox.DataSource = TransportInfoSys_beDataSet.Tables("Vehicles")
Vehicle_NameComboBox.DisplayMember = "Vehicle_Name"

If not, you need to fill it like I mentioned in the first post
0
 

Author Comment

by:Benvor
ID: 24783270
Here are everything I have on my Form, and they fill on FormLoad
untitled.bmp
0
 

Author Comment

by:Benvor
ID: 24783785
The adapter fills correctly, but the combo box on the data repeater still doesn't fill
0
 

Author Comment

by:Benvor
ID: 24783801
I've just tried it with a combo box that is not on the data repeater, and it filled it up completely with the correct values. But as soon as the combo box is dragged onto the data repeater it doesn't fill anymore
0
 
LVL 53

Accepted Solution

by:
Dhaest earned 500 total points
ID: 24785001
I think it is databound comboboxes that the datarepeater cannot cope with. No idea why not, very frustrating!.

I've found this link:
http://www.vbforums.com/showthread.php?referrerid=61394&t=535556

Just drag a new combobox with no databindings from the toolbox, set its items manually in the itemcloned event using the bindingsource and an arraylist (see example in link) and then set its selected index in the drawitem  event using a hidden databound label control

That'll have to do for now.

Comment from expert pedsys found at http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_23961065.html
0
 

Author Comment

by:Benvor
ID: 24811359
Hi Dhaest

I tried to get the code to work but I'm not sure what I must replace this piece of code with? Can you please help me

            VDP_Array.Add(New mdlStrDefs.ComboListData("Ea", 1))
            VDP_Array.Add(New mdlStrDefs.ComboListData("Sf", 2))
            VDP_Array.Add(New mdlStrDefs.ComboListData("Lf", 3))

"Type 'mdlStrDefs.ComboListData' is not defined"
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 24811372
What data do you want to store in your combobox ? Is it a list of strings, objects, ...
0
 

Author Comment

by:Benvor
ID: 24811406
It is a list of vehicles(Display Member) and each one has a ID(Value Member)
0

Featured Post

Industry Leaders: 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!

Question has a verified solution.

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

Suggested Solutions

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

740 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