Wie richte ich eine DataGridView ComboBoxColumn mit einer anderen DataSource in jeder Zelle ein?
Ich richte einDataGridViewComboBoxColumn
so was:
var newColumn = new DataGridViewComboBoxColumn() {
Name = "abc"
};
newColumn.DataSource = new string[] { "a", "b", "c" };
dgv.Columns.Add(newColumn);
Das funktioniert: Jede Zeile hat ein Dropdown-Feld in dieser Spalte, das mit a, b, c gefüllt ist.
Jetzt möchte ich jedoch die Liste für bestimmte Zeilen kürzen. Ich versuche, die Liste pro Zeile wie folgt einzustellen:
foreach (DataGridViewRow row in dgv.Rows) {
var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);
cell.DataSource = new string[] { "a", "c" };
}
Dieser Code hat jedoch keine Auswirkung - in jeder Zeile wird weiterhin "a", "b", "c" angezeigt.
Ich habe versucht zu ersetzennew string[]
mitnew List<string>
undnew BindingList<string>
, beide ohne Erfolg.
Ich habe auch versucht, den Code zu entfernen, der einstelltnewColumn.DataSource
, aber dann sind die Listen leer.
Wie soll ich das richtig machen?