I'm using a DataReader to populate a combo box. Its simple enough -
VB Code:
  1. Dim clsDB As New DBClass
  2.         Dim dr As SqlDataReader
  3.         clsDB.ConnString = ConfigurationSettings.AppSettings("ConnString")
  4.         clsDB.SPName = "mmu_Select_ChangeCodes"
  5.         dr = clsDB.GetDR
  6.         Do While dr.Read()
  7.             Me.cboChangeCode.Items.Add(dr.Item("change_code_desc"))
  8.         Loop
  9.         dr.Close()

The problem with doing it this way is I cant set a Value member.

If I bind the Datareader to the control via
VB Code:
  1. Me.cboChangeCode.DataSource = dr
  2.         Me.cboChangeCode.DisplayMember = "change_code_desc"
  3.         Me.cboChangeCode.ValueMember = "change_code"

I get the following error, "Additional information: Complex DataBinding accepts as a data source either an IList or an IListSource"

The goal i need is to have index value and a display value on each combo box.

This was so much simpler in vb6.....