2012-09-16 10 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

ListViewGroup classの.NETバージョンはCollapseまたはExpandメソッドを提供していないようです。

幸いにも、ネイティブのListViewコントロールはそれをサポートしており、1人の人がan extension to enable expand and collapseを提供しました。私は単純に、このグループ内のすべての項目を削除します完全なグループを隠すため

private void SetGroupCollapse(GroupState state) 

あなたは、その後で展開/縮小状態を設定する機能を持つことができ、彼のコードを使用しました。

+3

私は同じ考えをしました。しかし、私は単に私が望むグループを隠して、単にそれを再び表示することもできます。あるグループからある一時的な場所にアイテムを移動してグループを隠し、次にグループに戻すのが好きではありません。私は崩壊延長を使用すると思います。 – sczdavos

関連する問題