如何隐藏或折叠ListView中的某个组?

我只添加一些项目

contactListView.Items.Add(new ISIMlistViewItem(contact));
if (contact.availability == 6)
    contactListView.Items[contact.identificator].Group = contactListView.Groups["offlineGroup"];
else
    contactListView.Items[contact.identificator].Group = contactListView.Groups["onlineGroup"];

而且我有时想隐藏offlineGroup
if (hideOffline == true)
{
    // something like
    contactListView.Groups["offlineGroup"].Hide();
    // or
    contactListView.Groups["offlineGroup"].Visible = false;
}

但是我不知道该怎么办。我可以将其折叠而不画图,还是可以隐藏它?

最佳答案

似乎.NET版本的 ListViewGroup class没有提供CollapseExpand方法。

幸运的是, native ListView控件确实支持它,而一个人提供了an extension to enable expand and collapse

然后,使用他的代码,您可以使用以下功能来设置展开/折叠状态:

private void SetGroupCollapse(GroupState state)

为了隐藏一个完整的组,我只需要删除该组中的所有项目即可。

09-25 21:08