In design view, Right click the DataGridView and choose Edit Columns. Find the column you want to adjust, and under ColumnType, change it to DataGridViewComboBoxColumn. Then you can set the DataSource and DisplayMembers to what you need.
At Run-time, you can create a new column and hide the previous column.
Dim cboCode As New DataGridViewComboBoxColumn()
cboCode.HeaderText = "Code"
cboCode.DataPropertyName = "Code"
cboCode.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
cboCode.Name = "cboCode"
cboCode.DataSource = dtData
cboCode.DisplayMember = "Code"
cboCode.ToolTipText = "the code for this account , blah, blah, blah"
dgvArticles.Columns.Add(cboCode )
.Columns("Code").visible = False