Jak skonfigurować ComboBoxColumn DataGridView z innym DataSource w każdej komórce?

PrzygotowujęDataGridViewComboBoxColumn lubię to:

var newColumn = new DataGridViewComboBoxColumn() {
    Name = "abc"
};
newColumn.DataSource = new string[] { "a", "b", "c" }; 
dgv.Columns.Add(newColumn);

To działa: każdy wiersz ma listę rozwijaną w tej kolumnie, wypełnioną a, b, c.

Jednak teraz chciałbym przyciąć listę dla niektórych wierszy. Próbuję ustawić listę w wierszu w następujący sposób:

foreach (DataGridViewRow row in dgv.Rows) {
    var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);        
    cell.DataSource = new string[] { "a", "c" };                        
}

Jednak ten kod nie ma żadnego efektu - każdy wiersz nadal pokazuje „a”, „b”, „c”.

Próbowałem wymienićnew string[] znew List<string> inew BindingList<string>, obie bezskutecznie.

Próbowałem także usunąć kod, który ustawianewColumn.DataSource, ale wtedy listy są puste.

Jak powinienem postępować właściwie?

questionAnswers(2)

yourAnswerToTheQuestion