Почему мне нужно изменить исходную позицию привязки, прежде чем я смогу сохранить изменения
У меня есть небольшое демо-приложение WinForms. Одной из форм является моя форма «Добавить нового человека». Я использовал подробный вид вместоDataGridView
из моих источников данных. Когда я ввожу данные и нажимаю кнопку «Сохранить» в навигаторе, изменения отсутствуют, однако яMovePrevious
иMoveNext
после моегоAddNew
в видеLoad
все работает как положено.
public partial class AddPersonForm : Form
{
private readonly DemoContext _context;
public AddPersonForm()
{
_context = new DemoContext();
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
_context.People.Load();
personBindingSource.DataSource = _context.People.Local.ToBindingList();
personBindingSource.AddNew();
personBindingSource.MovePrevious();
personBindingSource.MoveNext();
base.OnLoad(e);
}
private void personBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
int changes = _context.SaveChanges();
Debug.WriteLine("# of changes: " + changes);
}
}
Почему мне нужно переключить позицию BindingSource, прежде чем она распознает изменения и сохранит их?