У меня есть одна форма с DataGridView и combobox. Combobox заполняется через DataSource в меню свойств, и я также указываю DisplayMember и ValueMember через это меню. У меня есть кнопка, при нажатии на которую отображается другая форма, и я могу добавить новый элемент в источник данных моего поля со списком. Когда я закрываю эту новую форму, я хочу, чтобы источник данных моего поля со списком обновился, чтобы я мог видеть новый элемент, который я только что добавил в поле со списком, но я не знаю, как это сделать.
Я пробовал:
myComboBox.Refresh(); но ничего не произошло
и я тоже попробовал это:
myComboBox.Items.Add(myclass.myNewItem); но выдает исключение:
Коллекцию элементов нельзя изменить, если установлено свойство источника данных.
Кто-нибудь может мне помочь, пожалуйста?
РЕДАКТИРОВАТЬ: Я понял, что когда я добавляю новый элемент во вторую форму, все в порядке, и новый элемент также добавляется в базу данных, но когда я возвращаюсь к первой форме, кажется, что ничего не произошло. Поэтому я добавляю listBox во вторую форму и не вижу ничего добавленного после возвращения к первой форме. Я действительно не знаю, почему поле со списком и поле со списком используют старый источник данных, хотя моя база данных изменилась. затем я попробовал это, и это сработало:
Во второй форме я сохранил новый элемент в классе (с именем Transfer), а когда вернулся в первую форму, сделал следующее:
DsMy.tblRow row = dsMy.tbl.NewtblRow(); строка.НачатьРедактировать(); строка.Имя = передача.новоеИмя; row.Id = Transfer.newId; строка.EndEdit(); dsMy.tbl.AddtblRow(строка); это.Проверить(); tblTableAdapter.Update(dsMy.tbl); мойComboBox.Обновить(); Спасибо всем за помощь!
Мобильная версия