如何在Winforms ListView中本地化/重命名“默认”(无组)标头?

时间:2011-08-12 10:47:53

标签: c# .net winforms listview

想知道是否有人可以帮助解决Windows Forms / .net ListView问题(在这种情况下使用C#...)

我们将ListViewItems添加到ListView。根据设计,其中一些不属于任何群体。在运行时,它们出现在一个名为“Default”的组中,该组不是在我们的代码中创建的.Net就是这样做的。

(请注意,当列表视图中只有非组项目时,不显示此“默认”标题。但是,只要添加包含项目的组,就会显示此项。

无论如何,(惊人的)问题是似乎没有办法本地化或重命名该组。如果有人能,我会很高兴的 (a)另行通知我,即如何重命名,或 (b)如何根本不显示“默认”标题 ?

(注意:我确实认识到我们可以重写以确保所有项目都在组中,让我们完全控制所有组名。但是控件中内置了很多逻辑,我宁愿避免任何重构此外,我很想知道这对微软来说是否是有趣的疏忽,或者它是否可以改变而且我只是太愚蠢而无法找到方法)。 谢谢 Karagee

5 个答案:

答案 0 :(得分:3)

这是文档说的

  

未分配给组的任何项目都将显示在默认组中,该组具有标题“DefaultGroup {0}”标题。 默认组不包含在“群组”集合中,无法更改。它主要用于调试,以确保所有项目都已正确添加到组中。

所以,我认为这是不可能的。

答案 1 :(得分:2)

您无法更改默认标题。

您可以添加新组(属性组),并将所有商品分配到此组(属性项目/组)。

答案 2 :(得分:2)

将ShowGroups属性设置为" false"这应该可以解决问题。

//代码行 lstView.ShowGroups = false;

对于列表视图,默认情况下此属性设置为true,除非指定任何ListViewItem进入此默认组。通过将此设置为false,您将删除列表视图中的组。

答案 3 :(得分:0)

您可以使用反射来重命名默认组的标题文本。有一个名为defaultView of ListView的私有ListViewGroup字段,您可以使用反射来操作此字段并执行任何您想要的重命名标题文本。

答案 4 :(得分:0)

我相信这是从一个空的(默认)组中出现的。转到组并删除第一个条目。