【问题标题】:ListView Items doesn't change after removing and inserting new column删除和插入新列后,ListView 项目不会改变
【发布时间】:2014-04-15 14:57:32
【问题描述】:

我有一个 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 包含的项与每个 Array 中的项一样多(clmnnum、exp、hpe 等...)

【问题讨论】:

    标签: c# winforms listview


    【解决方案1】:

    我不完全确定问题出在哪里,你说 Add 重载似乎没有工作,但你说问题是旧项目仍然存在,至少我认为这就是你所说的“以前的项目保持不变。”

    如果我理解您想要做什么,我会鼓励您清除 listView2 的项目,并有一个函数来构建 listView2,因为您每次都希望它从无到有。

    它至少应该让您了解正在发生的事情。

    【讨论】:

    • 我会尝试这样做,但让我在这里解释一下,我单击 ListBox 中的一个项目,我得到它的索引,用它从提到的数组中加载值,添加一个列,然后添加子项目(因为第一列中的项目已经存在),单击另一个项目后,它会删除额外的列,重新创建一个新列,但值与前一个相同,它没有从新点击的索引中加载新值。
    • 所以它就像 Subitems.Add 正在从缓存中获取值?
    • 没错,但我认为删除列也会删除项目,不是吗?
    • 应该这样做,我很想在删除列之前尝试 Column.Items.Clear() 以确保。
    • 我实际上用与 Items.Clear() 实际相关的解决方案编辑了您的答案,我知道他们在做什么来审查它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    相关资源
    最近更新 更多