Basically you need to use a UltraCombo, not a ValueList. This is an example on how to do it, but lacks of many details like how to retrieve the values from a datatable that you need to supply
private Sub grid_InitializeLayout(object sender, InitializeLayoutEventArgs e) Handles InitializeLayout
Dim yourTable As DataTable = GetYourDataTable()
Dim combo = new UltraCombo()
combo.DataSource = yourTable
combo.DisplayMember = "Field_name_To_Display"
combo.ValueMember = "Field_name_that_binds_combo_table_To_grid_Column"
' Now supposing the column that needs the combo is the first one of your grid
e.Layout.Bands(0).Columns(0).ValueList = combo
End Sub