删除和插入新列后,ListView项不会更改

时间:2014-04-15 14:57:32

标签: c# winforms listview

我有一个 ListBox 填充了一些项目,在SelectedIndexChanged事件中我倾向于删除任何现有的额外列(ID 1和更大),之后,我创建一个新的列和重新添加项目,但之前的项目保持不变,就像Add()重载不起作用,这是我的代码:

if (listBox1.SelectedItems.Count > 0)
        {
            if (listView2.Columns.Count > 1)
            {
                int bla = listView2.Columns.Count;
                for (int i = 1; i < bla; i++)
                {
                    //MessageBox.Show("Removing Column: " + (bla - i));
                    listView2.Columns.RemoveAt(bla - i);
                }
            }

            if (clmnnum[listBox1.SelectedIndex] == 1)
            {
                listView2.SuspendLayout();
                listView2.Columns.Add("Primary Values", 90, HorizontalAlignment.Left);
                listView2.ResumeLayout();
                listView2.Items[0].SubItems.Add(exp[listBox1.SelectedIndex].ToString());
                listView2.Items[1].SubItems.Add(hpe[listBox1.SelectedIndex].ToString());
                listView2.Items[2].SubItems.Add(lve[listBox1.SelectedIndex].ToString());
                listView2.Items[3].SubItems.Add(stre[listBox1.SelectedIndex].ToString());
                listView2.Items[4].SubItems.Add(powe[listBox1.SelectedIndex].ToString());
                listView2.Items[5].SubItems.Add(ende[listBox1.SelectedIndex].ToString());
            }
        }

ListBox包含与每个数组中的项目一样多的数据(clmnnum,exp,hpe等...)

1 个答案:

答案 0 :(得分:1)

我不完全确定这里的问题是什么,你说添加重载似乎没有工作但你说问题是旧项目仍然存在,至少我认为&#39 ; s你的意思是&#34;以前的项目保持不变。&#34;

如果我理解你的目的是什么,我会鼓励你清除listView2的项目,并且每次都可以按照你的意愿建立listView2。

至少应该让你知道发生了什么。