繁体   English   中英

将新实体添加到绑定的DataGridView

[英]Adding a new entity to a bound DataGridView

我有亲子关系的CompaniesContracts ,在winforms应用程序的两个DataGridViews中显示。 它们都绑定到实体模型的集合。

如何添加新合同?

  1. 如果我这样做

     Dim c as Company = CompaniesBindingSource.Current c.contracts.Add(New Contract()) context.SaveChanges() 

    网格不会刷新(即使我在BindingSource上调用.Refresh().ResetBindings() 。我也必须离开所选公司并返回到该公司,以刷新网格。

  2. 如果我执行ContractsBindingSource.AddNew() ,则网格将刷新,但数据不会保留到我的实体上下文中。

注意:我的合同托收是我Company模型的财产:

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属性,并自动刷新合同网格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM