Как настроить ComboBoxColumn DataGridView с различным источником данных в каждой ячейке?
Я настраиваюDataGridViewComboBoxColumn
как это:
var newColumn = new DataGridViewComboBoxColumn() {
Name = "abc"
};
newColumn.DataSource = new string[] { "a", "b", "c" };
dgv.Columns.Add(newColumn);
Это работает: каждая строка имеет выпадающий список в этом столбце, заполненный a, b, c.
Однако теперь я хотел бы урезать список для определенных строк. Я пытаюсь установить список для каждой строки следующим образом:
foreach (DataGridViewRow row in dgv.Rows) {
var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);
cell.DataSource = new string[] { "a", "c" };
}
Однако этот код не имеет никакого эффекта - каждая строка по-прежнему показывает «a», «b», «c».
Я пробовал заменитьnew string[]
сnew List<string>
а такжеnew BindingList<string>
Оба безрезультатно.
Я также попытался удалить код, который устанавливаетnewColumn.DataSource
, но тогда списки пусты.
Как я должен делать это правильно?