如何隐藏或折叠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;
}
但我不知道我该怎么做。我可以只是折叠它,不画它或有任何可能隐藏它?
2条答案
按热度按时间b5buobof1#
似乎是那个。NET版本的
ListViewGroup
class不提供Collapse
或Expand
方法。幸运的是,原生的
ListView
控件确实支持它,一个人提供了an extension to enable expand and collapse。使用他的代码,你可以有一个函数来设置展开/折叠状态:
为了隐藏一个完整的组,我将简单地删除该组中的所有项目。
2cmtqfgy2#
下面是从ListView派生的控件的源代码,它具有正确实现的可折叠逻辑:
https://www.codeproject.com/Articles/36775/Collapsible-ListViewGroup
使用此控件,并在创建项和组之后,我不得不调用:
而我的团队也变得很好。