2012-09-16 106 views
5

如何隱藏或摺疊ListView中的某些組?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; 
} 

但我不知道我該怎麼做。我可以將它摺疊起來,不要畫出它,或者有可能隱藏它嗎?

+0

http://typecastexception.com/post/2012/05/09/Extending-C-Listview-with-Collapsible-Groups-%28Part-I%29.aspx – Nasreddine

回答

4

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

幸運的是,原生ListView控件支持它,並提供了一個人an extension to enable expand and collapse

用他的代碼,那麼你可以有一個函數來設置展開/摺疊狀態:

private void SetGroupCollapse(GroupState state) 

隱藏一個完整的組,我只想刪除該組中的所有項目。

+3

我有同樣的想法。但是,儘管我可以簡單地隱藏任何我想要的組,並且只是再次顯示它。我不喜歡從一個羣組移動項目到某個臨時地點來隱藏羣組,然後回到顯示羣組。我認爲我會使用摺疊擴展。 – sczdavos