Нужно сделать сброс dataGridView1
в начальное состояние, т. е удалить все строки и вставить новые изначальные.
Во время вставки изначальных строк ошибка:
ячейки с DataGridViewComboBoxCell
уже принадлежат сетке.
Как очистить привязки DataGridViewComboBoxCell
в dataGridView
?
dataGridView1.Rows.Clear();
dataGridView1.DataSource = null;
// dataGridView1.DataMember=null;
dataGridView1.DataBindings.Clear();
dataGridView1.RowTemplate.Cells.Clear();
long totalMemory = GC.GetTotalMemory(false);
GC.Collect(0, GCCollectionMode.Forced);
Заполнение сетки dataGridView1:
DataGridViewComboBoxCell CB1 = new DataGridViewComboBoxCell();
dataGridView1.Rows.Add(null, "Обозначение ЛЭП");
dataGridView1.Rows.Add(null, "для кабелей напряжением, кВ");
CB1.Items.AddRange("0.5", "3", "6");
dataGridView1[5, 7] = CB1;
CB1.Value = "0.5";
dataGridView1[5, 7] = CB1;//строка с ошибкой
System.InvalidOperationException: Указанная ячейка уже принадлежит к сетке. Выполнение операции невозможно. в System.Windows.Forms.DataGridViewCellCollection.set_ltem(lnt32 index, DataGridViewCell value) в System.Windows.Forms.DataGridView.set_ltem(lnt32 columnindex, Int32 rowindex, DataGridViewCell value)
Во-первых, вы не используете привязку данных (data binding). Вы работаете напрямую со строками и ячейками датагрида.
Соответственно, очищать нужно именно строки:
dataGridView1.Rows.Clear();
Всё, больше ничего не нужно.
Если бы использовалась привязка:
dataGridView1.DataSource = someCollection;
тогда очистка производилась бы так:
dataGridView1.DataSource = null;
dataGridView1[5, 7] = CB1;
CB1.Value = "0.5";
Тут уже недопустимое значение вылетает.
(Должен быть типа
ObjectCollection : IList, ICollection, IEnumerable)
dataGridView1[5, 7] = CB1;
Тут повторно пытаетесь присвоить ссылку на тот же объект. Можно присвоить на НОВУЮ ячейку:
new DataGridViewComboBoxCell()...
или работать с тем же списком CB1.Items, значит, чтоб его перезаписать: его и надо очистить сперва:
CB1.Items.Clear();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах
У меня вопрос к спецам по MySqlВ логе медленных запросов есть вот такой запрос:
Прошу помощи в создании запросаНеобходимо при выборке сообщений с базы данных сгруппировать их
После авторизации на странице Facebook переходит на указанную страницу сайта, где при попытке получить accessToken приходит ошибка от Facebook: 'Cross-site...