背景
我列出了从sqlite列存储解析数据的列表。我想在列表视图中向用户显示这些列表。他们点击一个按钮,列表视图应显示这3个列表及其内容。
这三个列表被称为SeqIrregularities,MaxLen和PercentPopList。
问题: 列表视图以水平方式填充(如下所示),其中仅包含 Seqirregularities 列表的内容。其他2甚至不出现。 我 希望列表视图在相应的列表列中垂直显示每个列表的内容。
旁注:listview正在跳过第一列,这是另一个问题,但我可以解决这个问题。
以下是代码:
ListViewItem lvi = new ListViewItem();
foreach (object o in SeqIrregularities )
{
lvi.SubItems.Add(o.ToString());
}
foreach (object a in MaxLen )
{
lvi.SubItems.Add(a.ToString());
}
foreach (object b in PercentPopList)
{
lvi.SubItems.Add(b.ToString());
}
listView1.Items.Add(lvi);
答案 0 :(得分:1)
如果要将项目添加到ListViewItem
对象并将其分配给ListView
,则会创建一行,因为ListViewItem
代表ListView
中的一行。从您的代码中只添加ListViewItem
一次,因此您只能获得一个水平行。
如果您需要获取多行(垂直),则需要将多个ListViewItem
对象添加到ListView
。
ListViewItem lvi = new ListViewItem();
foreach (object o in SeqIrregularities )
{
lvi.SubItems.Add(o.ToString());
}
listView1.Items.Add(lvi);//Adds a new row
lvi = new ListViewItem();
foreach (object a in MaxLen )
{
lvi.SubItems.Add(a.ToString());
}
listView1.Items.Add(lvi);//Adds a new row
lvi = new ListViewItem();
foreach (object b in PercentPopList)
{
lvi.SubItems.Add(b.ToString());
}
listView1.Items.Add(lvi);//Adds a new row