ListView删除列但它仍然存在

时间:2015-08-27 04:59:25

标签: c# winforms listview

我使用ListView.Columns.RemoveAt删除列。

显示的结果是正确的。根据显示,该列已被删除,删除已应用于所有列表视图项目。

但我还添加了一个按钮来传输ListView项目'文字到剪贴板。

传输结果包含所有列 - 包括已删除的列。

在删除列后是否可能需要应用一些更新方法?

1 个答案:

答案 0 :(得分:0)

Columns的{​​{1}}只是Listview 显示而非存储的地方。

对于存储空间,每个SubItems都可以拥有({1}}个ListVieItem

删除SubItems后,Column不受影响。

您必须<{>>循环而不是SubItems,并删除不需要的Items

示例1:将其添加到SubItems,并观察如何随时按Button

Button

如果你有一个private void button1_Click(object sender, EventArgs e) { listView1.Items[0].SubItems.Add("ABC"); Console.WriteLine("Item 0 has " + listView1.Items[0].SubItems.Count + " subitems.); } ,你可以根据需要添加Item[0]个,没有定义了SubItems应该显示的地方。所以他们在那里,但他们没有表现出来。

示例2:现在添加另一个Column

Button

如果有private void button2_Click(object sender, EventArgs e) { int someindex = 4; foreach (ListViewItem lvi in listView1.Items) if (lvi.SubItems.Count - 1 > someindex && lvi.SubItems[someindex] != null) { lvi.SubItems.RemoveAt(someindex); Console.WriteLine("Subitem " + someindex + " removed in Item " + lvi.Index); } } ,可以从5th SubItem移除Item

相关问题