2014-01-14 69 views
0

我有CompaniesContracts處於父子關係中,如Winforms應用程序中的兩個DataGridView中所示。它們都綁定到實體模型的集合。將新實體添加到綁定的DataGridView

如何添加新合同?

  1. 如果我這樣做,

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

    網格不會刷新(即使我打電話.Refresh(),或.ResetBindings()上的BindingSource。我必須導航從選定的公司遠和回它,網格刷新。

  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 

這是否有什麼關係呢?我如何強制財產重新計算?

回答

0

這爲我工作:

CompaniesBindingSource.ResetCurrentItem() 

這重新計算Contracts財產,並自動刷新合同網格。

相關問題