Я сейчас пытаюсь добавить ComboBox в dataGridView.
В DGV есть 5 столбцов: флажок, строка, строка, выпадающий список, выпадающий список.
оба поля комбинированного списка настраиваются как столбцы данных в виде списка столбцов (через конструктор VisualStudio). Моя проблема заключается в добавлении строк.
Моя текущая попытка такова: столбцы уже определены, и я добавляю строки через dataGridView.Rows.Add.
Для этого я использую массив объектов. Пример:
dataGridViewRow row = new dataGridViewRow();
object[] obj = new object[5] {true, "str1", "str2", null, null};
dataGridView1.Rows.Add(obj);
Это проходит без ошибок. Но по логике, комбинированные списки не заполнены ничем.
Я попытался установить источник данных для 4-й и 5-й ячейки строки:
Ошибка ... Использование ROW.dataGridViewComboBoxCell.Items.Add: Элементы не отображаются ...
заполнение объекта [3] и 4 новым DGVcomboBoxCell или -Column:
Error... :The error message says "The dataGridViewComboBoxCell-Value is invalid.
Дополнительная информация: Каждый столбец должен иметь одинаковые элементы в комбинированных списках. (Они предварительно загружаются через Интернет, как XML). Установка источника данных для двух столбцов уничтожает весь DGV (я думаю, потому что у других столбцов нет источника данных).
В двух словах: Как добавить строки в DGV, которые содержат комбинированные списки, заполненные элементами?
С уважением,
NoMad
edit: вот код для решения моей проблемы:
DataGridViewCheckBoxColumn check = new DataGridViewCheckBoxColumn();
check.Name = "Col1";
dataGridView1.Columns.Add(check);
dataGridView1.ColumnCount = 3;
dataGridView1.Columns[1].Name = "Col2";
dataGridView1.Columns[2].Name = "Col3";
object[] row = new object[] { true, "str1", "str2" };
dataGridView1.Rows.Add(row);
DataGridViewComboBoxColumn combo1 = new DataGridViewComboBoxColumn();
DataGridViewComboBoxColumn combo2 = new DataGridViewComboBoxColumn();
combo1.Name = "Col4";
combo1.Items.Add("100x100");
combo1.Items.Add("200x200");
combo2.Name = "Col5";
combo2.Items.Add("option1");
combo2.Items.Add("option2");
dataGridView1.Columns.Add(combo1);
dataGridView1.Columns.Add(combo2);
Сначала добавьте строку, приведите столбцы, настройте их и добавьте в строку.
Столбцы не нужно предварительно указывать в конструкторе.