2011-08-26 46 views
1

我已經構建了一個基本用戶控件BaseViewControl,它有一個dataGridView和一個bindingSource對象。兩者都有保護訪問修飾符。 dataViewGrids dataSource指向基礎表單bindingSource。視覺繼承問題

然後我創建了一個InheritedUserControl,ApplicationUserView,當提示時我將它指向我的UI組件。它在同一個程序集中繼承了一些其他的arb UserControl,所以我手動將它改爲繼承我的BaseViewControl。

在ApplicationUserView的bindingSource上,我將dataSource屬性設置爲我的ApplicationUser域對象。正如預期的那樣,dataGridView繼續使用DesignView中的ApplicationUser域類中的屬性填充其列。

現在,在我的控制器對象的異步回調中,視圖接收IList <ApplicationUser>,我設置了我的bindingSource.DataSource = applicationUserList。

我已確認回調被調用,並且applicationUserList中有項目,但在運行時,網格不顯示任何行。我懷疑它與視覺繼承方面有關。

我已經看到VS創建副本的項目從繼承形式到繼承形式,只要你嘗試和修改繼承項目的屬性之前,它有類似的效果,但事實並非如此。

任何想法我做錯了什麼?

感謝,HS

+0

我只發表評論因爲我的情況不同,但是所討論的控制是一樣的。我也遇到了DataGridView的問題:http://adamhouldsworth.blogspot.com/2010/02/winforms-visual-inheritance-limitations.html –

+0

我會檢查設計器生成的文件,以獲取繼承和基本控件。 – Jeff

+0

設計器文件似乎是正確的,基本控件聲明DataGridView和BindingSource,繼承控件修改它們的屬性... – HarveySaayman

回答