我有一个listview的问题。我不确定如何使用循环来填充项目。下面的代码适用于第一行,我认为我需要增加行,但我不知道如何。当列表包含超过1项我得到的错误信息:将项目添加到循环中的列表视图
失败的阵列
foreach (List<string> l in list)
{
ListViewItem item = new ListViewItem(l[0]);
item.SubItems.Add(l[1]);
item.SubItems.Add(l[2]);
item.SubItems.Add(l[3]);
item.SubItems.Add(l[4]);
lstBooks.Items.Add(item);
}
在比较两个元素下面是整体功能。我本来与列表中的问题,但它是在这里populating a list of a list of strings but
解决的视图设置为细节
private void ListBooks()
{
lstBooks.Items.Clear();
lstBooks.Columns.Clear();
lstBooks.Visible = true;
List<List<string>> list = db.ListDetailsByGenre();
lstBooks.Columns.Add("Title", 120);
lstBooks.Columns.Add("Author", 120);
lstBooks.Columns.Add("Library", 120);
lstBooks.Columns.Add("Genre", 120);
foreach (List<string> l in list)
ListViewItem item = new ListViewItem(l[0]);
item.SubItems.Add(l[1]);
item.SubItems.Add(l[2]);
item.SubItems.Add(l[3]);
item.SubItems.Add(l[4]);
lstBooks.Items.Add(item);
}
}
他的代码看起来不错,你做了什么改变?只是OP没有完成他的问题。 – 2011-03-26 09:08:16
@Sanjee - foreach循环不变。我只是通过创建一个列表清单来测试'list'。 –
JYelton
2011-03-26 09:12:59
它在到达循环之前被清除。第一个循环完美运行,但第二个循环崩溃。不得不出去一段时间,但我会回来时会提供更多的代码 – flo 2011-03-26 09:18:47