В этой публикации я приведу пример программного добавления DataGridViewComboBoxCell.
Как программно заполнить DataGridView рассматривалось здесь.
Операцию по превращению выбранной ячейки DataGridView мы проделываем с существующей ячейкой, поэтому прежде нам необходимо будет создать эту ячейку при помощи предыдущей статьи, в нашем случае будем менять ячейки в колонке с индексом 1 и строке с индексом 1.
Превратить можно не любые ячейки такой метод работает 100% с текстовыми полями. Можно и не превращать а задать сразу. Но я исхожу в данном случае из того что нам не везде нужны ComboBox-ы и следовательно может возникнуть такая необходимость.
DataGridViewComboBoxCell comboCell = (DataGridViewComboBoxCell)dataGridView1.Rows[1].Cells[1];
Выбрали из нашего датагрида ячейку и сделали её ComboBox-ом.
Теперь заполняем…
comboCell.Items.Add("1 - Первый");
comboCell.Items.Add("2 - Второй");
comboCell.Items.Add("3 - Третий");
comboCell.Items.Add("4 - Четвёртый");
Вот собственно и всё.