При добавлении DataGridViewComboBoxColumn
вам также необходимо установить его свойство DataSource
в качестве допустимого источника.A DataTable
если вы получаете данные из базы данных или List (Of T)
- ваш List (Of String)
будет работать нормально.
Добавьте код ниже ПОСЛЕ того, как вы создали и заполнили sqlColumnSelectionList
.(Не забудьте изменить имя переменной column2
на имя, которое вы назвали)
column2.DataSource = sqlColumnSelectionList
Важно помнить, что DataGridViewComboBox
работает так же, как обычный ComboBox
, когда дело доходит доинициализация и общее использование.
Как только вы это сделаете, при добавлении строк вы должны изменить эту строку:
list_Destination_SQLMap.Rows.Add(sourceColumn, destcombo)
на:
list_Destination_SQLMap.Rows.Add(sourceColumn, "")
Это добавитновая строка в DataGridView с записью в столбце «Текст», соответствующей названию поля (согласно вашему описанию), а второй столбец будет пустым, что позволит пользователю выбрать значение из раскрывающегося списка.
Если вам необходимо предварительно выбрать второй столбец для значения, замените пустую строку этим значением.
DataGridViewComboBoxColumn необходимо заполнять только один раз, а не каждый раз, когда новая ячейка добавляется вDataGridView.