在我的 datagridView 中处理数据修改我没有什么问题。我将 DataSource 绑定到 datagridview,如下所示:
private void Form1_Load(object sender, EventArgs e)
{
var customersQuery = new ObservableCollection<Payment>(context.Payments);
customersQuery.CollectionChanged += new NotifyCollectionChangedEventHandler(customerQuery_Changed);
dataGridView1.DataSource = new BindingSource() { DataSource = customersQuery };
}
OrdersDataModelContainer context = new OrdersDataModelContainer();
我正在处理如下更改:
private void customerQuery_Changed(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == NotifyCollectionChangedAction.Add)
{
foreach (Payment p in e.NewItems)
{
context.Payments.Add(p);
}
}
if (e.Action == NotifyCollectionChangedAction.Remove)
{
foreach (Payment p in e.OldItems)
{
context.Payments.Remove(p);
}
}
context.SaveChanges();
}
删除作品,但添加不太好。当我单击新行时调用添加操作,因为单元格为空,所以出现异常。如何以简单的方式更改行为以在插入结束后调用 Add 并切换到下一行?另一个问题是对现有数据行的修改。它们仅在插入新数据后才在数据库中更新。
谁能给我解决方案或我应该在哪里搜索它?