title: vb.net - ComboBox with a BindingSource and a different DataSource
body: <p>In my form I have a <code>DataGridView</code> bound to a <code>BindingSource</code> that has a <code>DataSet</code> as <code>DataSource</code>. I also have some TextFields and ComboBoxes on the form that are bound to different columns in the <code>DataSet</code> through the <code>BindingSource</code>. The idea is that the values in the columns on the selected row in the <code>DataGridView</code> are reflected in the other controls on the form. Maybe I make it sound a bit complicated, but it's fairly easy to connect the TextFields, and also the ComboBoxes bound to tables in the dataset.</p>
  
  <p>My problem is that this time I want to set the items in the <code>ComboBox</code> from an array and not from a table in the <code>DataSet</code>. This is what I've tried:</p>
  
  <pre><code>Me.ComboBox.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue",       Me.TblBindingSource, "ColumnName", True))
  
  Dim ItemArray(2) As String
  ItemArray(0) = ""
  ItemArray(1) = "Default"
  ItemArray(2) = "User-set"
  ComboBox.DataSource = ItemArray
  </code></pre>
  
  <p>Now, this seems to work partially as the <code>ComboBox</code> is populated correctly, and I can select a value, and it appears in the <code>DataGridView</code>. But it doesn't update its selected value as I change rows in the <code>DataGridView</code>. The column <code>("ColumnName")</code> is a <code>ComboBoxColumn</code> that gets its item list in the way shown above, and it seams to work as expected.</p>
  
  <p>If it wasn't clear; I have several ComboBoxes with similar functionality that works, but they are bound to a column in a <code>DataTable</code>, as follows:</p>
  
  <pre><code>Me.ComboBox1.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.Tbl1BindingSource, "WiDMethodX", True))
  Me.ComboBox1.DataSource = Me.Tbl2BindingSource
  Me.ComboBox1.DisplayMember = "SomeColumn"
  Me.ComboBox1.ValueMember = "SomeColumn"
  </code></pre>
  
  <p>If it matters, the <code>DataSet</code> comes from an <code>Access Database</code>.</p>