0

背景:

我有存储来自 sqlite 列的解析数据的列表。我想在列表视图中向用户显示这些列表。他们单击一个按钮,列表视图应显示这 3 个列表及其内容。

这三个列表称为 SeqIrregularities、MaxLen 和 PercentPopList。

问题: 列表视图以水平方式填充(如下所示),其中仅包含 Seqirregularities列表的内容。其他 2 甚至不显示。 希望列表视图具有每个列表的内容,垂直位于相应的列表列中。

旁注:列表视图正在跳过第一列,这是另一个问题,但我可以解决这个问题。

在此处输入图像描述

这是代码:

 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);
4

1 回答 1

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
于 2013-11-14T20:06:42.120 回答