2016-04-09 143 views
-1

以下是我試圖用來將數據從數據庫導入到對象列表(來自一個類)的代碼。但是,循環結束時,它只會在列表中獲得一個項目。我曾經將數據放入一個ListBox中,而不是一個動態的對象列表,因此數據正在被檢索。項目列表只添加一個新項目

Public Class AnItem 
    Public Item As String 
    Public TheType As String 
End Class 

Public MyLists As List(Of AnItem) 

Private Sub AddToList() 
    Dim i as integer 
    Dim fs as AnItem 

    For i = 0 To numberOfDataBaseitems 
     Dim fs as new AnItem 
     'fs.item = 'item 1' 
     'fs.type = 'box' 
     fs = getData(i) 

     'ONLY one ITEM IS ADDED!!!!!!?????? 
     MyLists = New List(Of AnItem) 
     MyLists.Add(fs) 
    Next I 
End Sub 
+0

如果答案對你有效,請點擊答案左邊的勾號以便問題是標記爲已回答**,這可以確保發佈它的人獲得聲望。乾杯。 –

回答

1

的問題是,在循環中這一行:

MyLists = New List(Of AnItem) 

圍繞循環每次創建一個新的(空)名單。 1項目被添加到列表中。下次圍繞循環創建另一個新的列表對象。

只是這條線這條線之前,移動到:這行代碼

For i = 0 To numberOfDataBaseitems 
1

變化

Public MyLists As List(Of AnItem) 

Public MyLists As New List(Of AnItem) 

,並刪除這行代碼

MyLists = New List(Of AnItem) 

每次執行最後一行代碼時,該列表都將被聲明爲一個新的空列表。我猜你添加了這個,因爲你得到一個NullReference異常。你得到例外的原因是因爲你在我的答案開始處的MyLists聲明不包括New關鍵字

相關問題