Vb.net 向绑定的DataGridView添加新实体
我有Vb.net 向绑定的DataGridView添加新实体,vb.net,entity-framework,Vb.net,Entity Framework,我有公司和合同的父子关系,在winforms应用程序的两个DataGridView中显示。它们都绑定到实体模型集合 如何添加新合同 如果我这样做 Dim c as Company = CompaniesBindingSource.Current c.contracts.Add(New Contract()) context.SaveChanges() 网格不刷新(即使我在BindingSource上调用.refresh()或.ResetBindings()。我必须离开选定的公司并返回到该公司,
公司
和合同
的父子关系,在winforms应用程序的两个DataGridView中显示。它们都绑定到实体模型集合
如何添加新合同
Dim c as Company = CompaniesBindingSource.Current
c.contracts.Add(New Contract())
context.SaveChanges()
网格不刷新(即使我在BindingSource上调用.refresh()
或.ResetBindings()
。我必须离开选定的公司并返回到该公司,网格才能刷新ContractsBindingSource.AddNew()
,网格将刷新,但数据不会保留到实体上下文中公司
型号上的一个属性:
Public ReadOnly Property activeContracts As SortableBindingList(Of Contract)
Get
Dim list = New SortableBindingList(Of Contract)
For Each contract As Contract In contracts.Where(Function(c) c.isActive).ToList
list.Add(contract)
Next
Return list
End Get
End Property
这与此有关吗?我如何强制属性重新计算?这对我很有用:
CompaniesBindingSource.ResetCurrentItem()
这将重新计算Contracts
属性,并自动刷新Contracts网格