SPREAD for WPF 4.0J - GcSpreadSheet
コーディングによるフィルタリング
MESCIUS SPREAD for WPF 4.0J - GcSpreadSheet > 開発者ガイド > フィルタリング > コーディングによるフィルタリング

GcSpreadSheet では、テキスト、日付、セルの色、フォントの色、条件付き書式などのデータにフィルターを適用できます。

この機能を使用すると、指定したフィルター条件に基づいてワークシート内の関連するデータだけを表示し、不要なデータを非表示にできます。複数のフィルターを適用することができ、またフィルターをクリアして全データを再表示することも可能です。

GcSpreadSheet は、列フィルターと範囲フィルターをサポートしています。ワークシートに列フィルターを適用するには、IRange インターフェースの AutoFilter メソッドを使用します。フィルター条件は、DynamicFilterType 列挙体に AboveAverage、BelowAverage、LastQuarter、LastMonth、NextWeek などの値を設定することで指定できます。

フィルターはセルの値だけでなく、セルのフォント色、セル塗りつぶし、アイコンセット条件付き書式を使用して適用することもできます。

 サンプルコード
コードのコピー
GcSpreadSheet.Workbook.Worksheets[0].Range("A1").Value = 17;
GcSpreadSheet.Workbook.Worksheets[0].Range("A2").Value = 12;
GcSpreadSheet.Workbook.Worksheets[0].Range("A3").Value = 23;
GcSpreadSheet.Workbook.Worksheets[0].Range("A4").Value = 230;
GcSpreadSheet.Workbook.Worksheets[0].Range("A5").Value = 234;
GcSpreadSheet.Workbook.Worksheets[0].Range("A6").Value = 11;
GcSpreadSheet.Workbook.Worksheets[0].Range("A7").Value = 3;
GcSpreadSheet.Workbook.Worksheets[0].Range("A8").Value = 123;
GcSpreadSheet.Workbook.Worksheets[0].Range("A9").Value = 579;
GcSpreadSheet.Workbook.Worksheets[0].Range("A12").Value = 12;
GcSpreadSheet.Workbook.Worksheets[0].Range("A13").Value = 23;
GcSpreadSheet.Workbook.Worksheets[0].Range("A14").Value = 230;
GcSpreadSheet.Workbook.Worksheets[0].Range("A15").Value = 234;
GcSpreadSheet.Workbook.Worksheets[0].Range("A16").Value = 11;
GcSpreadSheet.Workbook.Worksheets[0].Range("A17").Value = 3;
GcSpreadSheet.Workbook.Worksheets[0].Range("A18").Value = 123;
GcSpreadSheet.Workbook.Worksheets[0].Range("A19").Value = 579;
GcSpreadSheet.Workbook.Worksheets[0].Name = "ColumnFiltering";

// DynamicFilterType を使用して、列Aをフィルターし、平均未満の値のみを表示します。
GcSpreadSheet.Workbook.Worksheets[0].Columns[0].AutoFilter(true);
GcSpreadSheet.Workbook.Worksheets[0].Columns[0].AutoFilter(0, DynamicFilterType.BelowAverage);                     
コードのコピー
GcSpreadSheet.Workbook.Worksheets(0).Range("A1").Value = 17
GcSpreadSheet.Workbook.Worksheets(0).Range("A2").Value = 12
GcSpreadSheet.Workbook.Worksheets(0).Range("A3").Value = 23
GcSpreadSheet.Workbook.Worksheets(0).Range("A4").Value = 230
GcSpreadSheet.Workbook.Worksheets(0).Range("A5").Value = 234
GcSpreadSheet.Workbook.Worksheets(0).Range("A6").Value = 11
GcSpreadSheet.Workbook.Worksheets(0).Range("A7").Value = 3
GcSpreadSheet.Workbook.Worksheets(0).Range("A8").Value = 123
GcSpreadSheet.Workbook.Worksheets(0).Range("A9").Value = 579
GcSpreadSheet.Workbook.Worksheets(0).Range("A12").Value = 12
GcSpreadSheet.Workbook.Worksheets(0).Range("A13").Value = 23
GcSpreadSheet.Workbook.Worksheets(0).Range("A14").Value = 230
GcSpreadSheet.Workbook.Worksheets(0).Range("A15").Value = 234
GcSpreadSheet.Workbook.Worksheets(0).Range("A16").Value = 11
GcSpreadSheet.Workbook.Worksheets(0).Range("A17").Value = 3
GcSpreadSheet.Workbook.Worksheets(0).Range("A18").Value = 123
GcSpreadSheet.Workbook.Worksheets(0).Range("A19").Value = 579
GcSpreadSheet.Workbook.Worksheets(0).Name = "ColumnFiltering"

' DynamicFilterType を使用して、列Aをフィルターし、平均未満の値のみを表示します。
GcSpreadSheet.Workbook.Worksheets(0).Columns(0).AutoFilter(True)
GcSpreadSheet.Workbook.Worksheets(0).Columns(0).AutoFilter(0, DynamicFilterType.BelowAverage)