none
ListViewをVirtualModeで使用した際のListViewGroupの指定の仕方 RRS feed

  • 質問

  • VS 2005 Sp1でListViewを使ったWindows Formアプリケーションを作成しようとしているのですが、アイテム数が2000~10,000個ほどあり、VirtualModeで使用したいと考えています。

    ところが、VirtualModeでアイテムを追加すると、ListViewGroupの指定ができず、グループ分けすることができません。

    private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) {
      e.Item = New ListViewItem(
                          データテーブル[e.ItemIndex],
                          listView1.Groups[データテーブル[e.ItemIndex][grpcd]);

     //この後アイコン表示やサブアイテムの設定が続く
    }

    MSDNのListViewのVirtualModeの説明とListViewGroupの説明を見る限りでは、使えるとも使えないとも書いておらず判断ができていません。
    ListViewGroupの設定は既に済んでおり、Application.EnableVisualStyles();も実行済みです。

    ListViewGroupの説明の中に、
    「グループに項目を割り当てるには、ListViewItem コンストラクタでグループを指定するか、ListViewItem.Group プロパティを設定するか、グループの Items コレクションに項目を直接追加します。項目が表示される前に、すべての項目をグループに割り当てる必要があります。」という気になる文面があるのですが、VirtualModeでは難しいのでしょうか?
    2007年4月19日 0:40