只写入listView中的一列?

时间:2012-11-05 23:47:31

标签: c# winforms listview

我的listView中有两列,我们称之为Column1和Column2。

是否可以仅向column1添加一堆项目,并将其设置为仅限于column1而不是column2?

当我添加项目时,它会向Column1添加一个项目,然后Column2和我不希望这样。

我该怎么做呢?

这是我的一些测试代码。我用两个字符串创建了一个数组。我希望这两个字符串都在column1下(每个都在自己的行中)而不是在column2下。当我测试它时,它们仍然位于column1和column2之下,这是我不想要的。

string[] h = {"Hi","Hello"};
listViewGoogleInsight.Items.Add(new ListViewItem(h));

1 个答案:

答案 0 :(得分:1)

也许这会有所帮助:

string[] h = {"Hi","Hello"}; 
foreach(string s in h) //this in case when you have more that two strings in you array
   listViewGoogleInsight.Items.Add(new ListViewItem(s));

在您的代码中,您将字符串数组传递给ListViewItem的构造函数,该构造函数正在创建一个“Hello”的ListViewSubitem。您应该分别添加每个字符串。

编辑:在您只添加到column2的请求后,您可以这样做。您必须将空字符串传递给第一列,因为您需要为第一列创建ListViewItem,并为每个其他列创建其他ListViewSubitems。

    string[] h = { "Hi", "Hello" };
int count=0;
                foreach (string s in h) //this in case when you have more that two strings in you array
                {
                    ListViewItem lvi = listView1.Items[count++];
                    lvi.SubItems.Add(s);
                    listView1.Items.Add(lvi);
                }