В настоящее время я пытаюсь добавить ComboBox в dataGridView.
В DGV есть 5 столбцов: флажок, строка, строка, поле со списком, поле со списком.
оба столбца со списком настроены как столбцы datagridviewcombobox (через конструктор 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: элементы не отображаются...
заполнение obj[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);
Сначала добавьте строку, приведите столбцы, настройте их и добавьте в строку. Никакие столбцы не должны быть предварительно указаны в дизайнере.