我想從數據表中填充列表視圖,但是當我運行代碼時,我收到一個奇怪的錯誤,我找不出來。添加列表查看項目到列表視圖控件
代碼:
DataTable allTracks = tracks.getByMedia();
for (int i = 0; i < allTracks.Rows.Count; i++) {
DataRow r = allTracks.Rows[i];
ListViewItem lvi = new ListViewItem();
lvi.Text = r["track_number"].ToString();
lvi.SubItems.Add(r["track_name"].ToString());
lvTracks.Items.Add(lvi);
}
錯誤:
Object reference not set to an instance of an object.
該方案認爲,LVI變量未設置或爲空,但是當我進入調試模式,我可以看到,LVI是definitly初始化和設置,幷包含
right text + sub item . :S
此外,如果我把這個,而不是
lvTracks.Items.Add(lvi);
Messagebox.Show(lvi.Text)
它顯示了正確的值,而不會觸發錯誤....
而您正在調試代碼時,您的代碼行出現此錯誤? –
不知道是否是這樣,但您可能想嘗試一個foreach循環 - foreach(allRows.Rows中的DataRow r)。這將節省一些潛在的錯誤空間。 – Tom
我發現錯誤,似乎lvTracks還沒有初始化:(dooo!代碼現在正在工作;) – jhoevenaars