我想从数据表中填充列表视图,但是当我运行代码时,我收到一个奇怪的错误,我找不出来。添加列表查看项目到列表视图控件
代码:
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