何かが足りない場合を除いて、DataGridViewComboBoxColumn列型を使用できるはずです。
列の追加方法に応じて、[列の追加]ダイアログの[タイプ]ドロップダウンでこのタイプを選択するか、次のようにプログラムで追加します。
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
dataGridView1.Columns.Add(col);
編集するまでテキストボックスのように見えるコンボボックスの効果を実現するには、DataGridViewComboBoxColumnDisplayStyleプロパティをNothingに設定します。
List<string> names = new List<string> { "Joe", "Sally", "Kate" };
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataSource = names;
col.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
dataGridView1.Columns.Add(col);
また、EditingControlShowingイベントを介して、DataGridViewセルの基になるコントロールにアクセスすることもできます。