大量データでもサクサク動く!SPREAD for WPFのフィルタリングの新機能をチェック

2025年5月28日にWPFスプレッドシートコンポーネント「SPREAD for WPF(スプレッド)」の最新バージョン「4.0J Service Pack 2(以下、SP2)」がリリースされました。本製品にはデータグリッドとスプレッドシートの2つのコントロールが搭載されており、今回のサービスパックではデータグリッド(以下、GcSpreadGrid)においてフィルタリングの機能強化が行われています。

本記事では新しく追加されたGcSpreadGridのフィルタリング機能をチェックしていきます。

開発環境

使用する開発環境は以下の通りです。 .NET 8に対応しているVisual Studio 2022を使用します。SPREADの .NET 8対応モジュールはNuGetパッケージで提供されており、NuGetのサイトまたはインストーラによってインストールされるパッケージ(*.nupkg)を使用することが可能です。

SPREAD for WPF 4.0Jを使用するには、製品版またはトライアル版をインストールして製品の認証を行う必要があります。トライアル版は以下からダウンロード可能です。

Visual Studio 2022でのプロジェクトの作成方法や、NuGetパッケージのインストール方法は製品ヘルプの以下のトピックを参考にしてください。

使用するプロジェクト

本記事では、4.0J SP2のGcSpreadGridで新しいフィルタリング機能を使用できるサンプルプロジェクトを用意しています。プロジェクトはVisual Studio 2022で作成し .NET 8 をターゲットとしています。

フィルタリングの新機能の確認用サンプル

SPREADコントロールをウィンドウに配置し50000件のサンプルデータをバインドしているため、実際の業務データを想定した動作確認が可能です。フィルタリング機能の各種オプションやパフォーマンス改善を体感できるよう、ヘッダ部分にプロパティを切り替えるチェックボックスを用意しています。サンプルは以下よりダウンロード可能です。

フィルタリングの改善

ドロップダウンリストの表示速度の改善

一般的に大量のデータを扱う場合にフィルタリング用のドロップダウンリストの表示速度が遅くなるという課題があります。例えば、4.0J SP1で3000件のデータが存在する列に対してフィルタ処理を行う場合、リストを表示するのに7秒以上の時間を要していました。

SP1で3000件のデータが存在する列に対してフィルタダイアログを表示

4.0J SP2では内部処理の最適化により、PropertyDataFieldクラスを使用した列フィールドへの設定時のドロップダウンリストの表示速度が改善されています。これにより数万件のデータが存在する列でも、リストの展開がスムーズに行えるようになりました。
以下はSP2で50000件のデータが存在する列に対してリストを表示した例ですが、0.5秒ほどでリストが表示されるようになっていることが確認できます。

SP2で50000件のデータが存在する列に対してフィルタダイアログを表示

ユーザーがストレスなく条件を選択できるため、データ分析や絞り込み作業の効率が向上します。特に業務システムなどで大量データを扱う場合、このパフォーマンス向上は大きなメリットとなります。本改善はSP2にアップデートするだけで特に設定を追加することなく適用できますので、4.0J SP1以前のバージョンをお使いの方は是非お試しください。

チェックボックスリストの項目数の制限

フィルタリングのドロップダウンリストには、チェックボックス形式で選択できる項目が表示されますが、データ件数が多い場合はリストが長くなりすぎて操作性が低下します。

SPREAD for WPF 4.0J SP2では、チェックボックスリストの表示項目数の上限を10000件に設定できるようになりました。これにより、ユーザーは必要な項目だけを効率よく選択でき、UIの煩雑さを軽減できます。Excelでも同様の機能があり、アプリケーションの使い勝手が向上します。上限を超える場合はスクロールや検索機能と組み合わせて、目的の項目を素早く見つけられる設計となっています。

本機能はデフォルトで有効になっておりAutoFilterEditor2クラスのLimitItemCountプロパティをFalseにすることで無効化できます。

// フィルタリストのアイテム数制限を解除
GrapeCity.Windows.SpreadGrid.Presenters.AutoFilterEditor2.LimitItemCount = false;

機能が有効になっている時はフィルタリングの画面上で「一部のアイテムは表示されていません。」というラベルが表示されます。

チェックボックスリストの項目数の制限

ドロップダウンリストに検索状態の表示

大量のデータから目的の値を探す際、ドロップダウンリスト内で検索機能を利用することがあります。これにより、ユーザーは入力したキーワードに一致する項目だけを素早く絞り込むことができます。SPREAD for WPF 4.0J SP2では、ドロップダウンリストに検索ボックスにキーワードが入力された時に「検索しています…」と検索状態が表示されるようになりました。こちらも表示速度の改善同様に、SP2にアップデートするだけで適用できます。

ドロップダウンリストに検索状態の表示

「現在の選択範囲をフィルターに追加する」オプション

新たに追加された「現在の選択範囲をフィルターに追加する」オプションは、フィルタリングで表示した以前の結果を新たなフィルタリングでの結果に追加するというもので、Excelでも同様の機能が提供されています。異なる検索条件で抽出した特定のデータだけを素早く表示したい場合に非常に便利です。

手順としては次のようになります。

  1. フィルタリングのテキストボックスにキーワードを入れて検索します。
    「現在の選択範囲をフィルターに追加する」オプション(1)
     
  2. [OK]ボタンを押下してGcSpreadGrid上にフィルタリングの結果を表示します。「現在の選択範囲をフィルターに追加する」オプション(2)
     
  3. 次に新たなキーワードを入れて検索します。「現在の選択範囲をフィルターに追加する」オプション(3)
     
  4. ここで検索で表示された結果と「現在の選択範囲をフィルターに追加する」オプションをチェックして[OK]を選択します。「現在の選択範囲をフィルターに追加する」オプション(4)
     
  5. これにより以前の結果を含んだフィルタリングの結果を表示することが可能です。「現在の選択範囲をフィルターに追加する」オプション(5)

この機能もデフォルトで有効になっておりAutoFilterEditor2クラスのCanUserAddSelectionToFilterプロパティをFalseにすることで無効化できます。

// フィルタリストに選択範囲を追加する機能を無効化
GrapeCity.Windows.SpreadGrid.Presenters.AutoFilterEditor2.CanUserAddSelectionToFilter = false;

さいごに

SPREAD for WPF 4.0J SP2で追加されたGcSpreadGridのフィルタリングの新機能は、Excelと同じような使いやすさとパフォーマンスの改善を実現しています。特に、ドロップダウンリストの高速化やチェックボックスリストの項目数制限など、業務アプリケーションで役立つ改善が追加されています。これらの機能を活用することで、大量データの中から必要な情報を素早く抽出でき、業務効率の向上が期待できます。

Webサイトでは製品の機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。

また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /