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?