Como faço para configurar um DataGridView ComboBoxColumn com um DataSource diferente em cada célula?

Estou montando umDataGridViewComboBoxColumn como isso:

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

Isso funciona: cada linha tem uma caixa suspensa nessa coluna, preenchida com a, b, c.

No entanto, agora gostaria de cortar a lista para determinadas linhas. Estou tentando definir a lista por linha assim:

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

No entanto, este código não tem efeito - cada linha ainda mostra "a", "b", "c".

Eu tentei substituirnew string[] comnew List<string> enew BindingList<string>, ambos sem sucesso.

Eu também tentei remover o código que definenewColumn.DataSource, mas as listas estão vazias.

Como devo fazer isso corretamente?

questionAnswers(2)

yourAnswerToTheQuestion