我有一個屏幕,可以顯示來自三個不同類的三組數據。但是,它應該每次只顯示一個,具體取決於初始化時設置的模式。當然,這三個類(我迄今爲止只寫了一個類)實現了一個定義它們的共享屬性的接口(IExportSelectionStructure
):Selected
。這些類沒有其他屬性可以放入界面。使用列表(的接口),而不是一個集合沒有正確填充DataGridView
屏幕具有下面的代碼:
Private _BaseStructure As IExportStructure
Private _DataSet As List(Of IExportSelectionStructure)
Public Sub New(exportMode As ExportRunMode)
'BaseStructure setup goes here
_DataSet = _BaseStructure.GetDataSet(_Session, _Settings)
With ExportDataGridView
.AutoGenerateColumns = False
.Columns.AddRange(_BaseStructure.GenerateExporterColumns.ToArray)
.Datasource = _DataSet
End With
End Sub
我在客戶的出口模式下運行。 此時,_DataSet
裏面有三個ExportCustomerSelectionStructure
類,以及每個類中的預期數據。
然而,當它被設置爲數據源爲GridView,GridView控件顯示三個記錄,但列是空,除「選擇」列 - 這是一個CheckBoxCell
。
在調試這方面,我嘗試切換_DataSet
到Collection
,並且也得到了IExportStructure.GetDataSet
返回一個Collection
- 你瞧,在屏幕上精美絕倫的數據出現,但我不希望要使用Collection
,我想使用List(Of IExportSelectionStructure)
。我不能再比界面更具體,我也不想再去比那更通用。
我在做什麼錯,我錯過了什麼明顯?