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?