我创建了一个新的实体对象,并将其绑定到另一个窗口(编辑窗口)中的控件。修改并保存后,我将一个新的实体对象分配到主窗口中。旧实体对象绑定到数据网格中,现在我希望数据网格显示我修改和保存的数据。
ObjectContext.Refresh Method (RefreshMode, Object)似乎是我想要的,但我不知道如何正确使用它。
简而言之:
我有一个主窗口,datagrid显示表的整个数据。用户可以选择一行并在编辑窗口中进行编辑。保存后,数据网格应显示已修改的内容。
答案 0 :(得分:1)
这里最好的选择是使用ObservableCollection
作为数据网格的数据源而不是查询。
并查看在INotifyPropertyChanged
课程中实施Customer
界面。
ObservableCollection
最初由数据库查询填充。用户更改ObservableCollection
中的元素,一旦完成,您只需触发将更改传输到最初获取Customer
对象列表的位置
通过这样做,对Customers集合和各个Customer对象(如果存在于datagrid中)的更改将自动为您更新。
修改强>
我必须承认,我现在有点急于提供任何代码,但here's这是一篇很好的文章,解释了如何使用ObservableCollections
和实现{{1}的类}。它也有代码示例,虽然在VB.NET中应该给你足够的想法来开始。
实际上,您将代码分成不同的图层UI(视图),业务逻辑(视图模型)和数据层(实体框架所在的模型)。
您将datagrid绑定到Customers类中的ObservableCollection类型属性,并且您的edit csutomer窗口将绑定到Customer类的实例。