我有一个小型的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位置?