Мгновенное добавление данных C# Entity Framework
Для кнопки добавления данных в таблицу сделал такой код:
context.SaveChanges();
MessageBox.Show("Изменения внесены.");
Вопрос: как сделать так, чтобы данные мгновенно вносились в таблицу? Новая строка появляется только при переходе на прошлую форму и обратно.
Ответы (1 шт):
Автор решения: xellan
→ Ссылка
Если приложение wpf, то вам лучше создать коллекцию ObservableCollection
И привязать её к ItemsSource
ListBoxSetting.ItemsSource = Setting_;
ObservableCollection<Setting> Setting_ = new ObservableCollection<Setting>();
Setting_.CollectionChanged += ListBoxSetting_CollectionChanged; // Добавляем событие изменения коллекции
foreach (var setting in result)
Setting_.Add(setting); // Например заполним данные, при добавление в контрол будут добавляться сразу данные, а в событие их можно сохранять в бд
// обработчик изменения коллекции
async void ListBoxSetting_CollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add: // если добавление
if (e.NewItems?[0] is Setting newSetting)
{
}
break;
case NotifyCollectionChangedAction.Remove: // если удаление
if (e.OldItems?[0] is Setting oldSetting)
{
}
break;
}
}