C#ListView - 以编程方式编辑列条目

时间:2015-05-28 18:48:26

标签: c# listview edit multiple-columns subitem

我使用带有两列的 ListView

要添加新项目(到第0列)我使用:

listView1.Items.Add("Hello")

这导致 Hello 出现在索引最低的列中。 但是,我还想添加行号

我试着这样做:

        for (int c = 0; c < listView1.Items.Count; c++)
        {
            listView1.Items[c].SubItems.Clear();
            listView1.Items[c].SubItems.Add(c.ToString());
        }

我认为,问题在于主要项目被清除,即使我只是尝试clear()子项目(即第二栏中的条目)。

基本上我的问题是: 如何单独编辑列条目以显示行/行号?

2 个答案:

答案 0 :(得分:0)

SubItems中的第一个项目(索引0)实际上是左栏中的主要项目。

如果您已经添加了像此listViewItem.SubItems.Add(string.Empty);这样的子项,那么您可以像这样编辑该子项:

    for (int c = 0; c < listView1.Items.Count; c++)
    {
        listView1.Items[c].SubItems[1].Text = c.ToString();
    }

答案 1 :(得分:-1)

我可能已经解决了......

添加SubItem后,主要项目可能会移至SubItem[0]

以下代码似乎对我有用,但我不确定是否存在更好的方法。

        for (int c = 0; c < listView1.Items.Count; c++)
        {
            listView1.Items[c].SubItems[0].Text = listView1.Items[c].Text;
            listView1.Items[c].SubItems.Add(c.ToString());
            listView1.Items[c].SubItems[1].Text = c.ToString();
        }