This will demonstrate how you can bind DataGridViewComboBoxColumn to your DataGridView and populate it from a database.
The way(s) you can follow are:
1) Create and add a DataGridViewComboBoxColumn in your datagridview and populate every combo Box with the values in an iterative manner.
2) Create a DataGridViewComboBoxColumn in your datagridview, take a Generic List, fill it with item(s) and Bind to the ComboBox's DataSource as mention in the below code:
See the code, here Db2DataSet is filled before:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Bind Dataset that don't have comboboxcolumn you are willing to add
DataGridView1.DataSource = Db2DataSet.Tables(0)
'Create a comboboxcolumn for Datagridview
DataGridView1.Columns.Add(New DataGridViewComboBoxColumn() With {.HeaderText = "ComboColumn", .Name = "ComboColumn"})
Dim Ilist As New List(Of String) 'A list that will hold combobox items
Ilist.AddRange(New String() {"item1", "item2", "item3", "item4", "item5"}) ' Items that are required in combobox
DirectCast(DataGridView1.Columns("ComboColumn"), DataGridViewComboBoxColumn).DataSource = Ilist 'Bind to item to "ComboColumn"
End Sub