Solved

Populate Combbobox in DataRepeater

Posted on 2009-07-05
14
395 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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
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

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

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

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…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

630 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