MESCIUS SPREAD for ASP.NET 10.0J > 開発者の手引き > データ操作 > フィルタリング > フィルタリングの概要 |
SPREADでは3種類のフィルタリングを使用できます。どのフィルタリング機能でも、ユーザーは以下の図に示すとおり、指定した条件に基づいて該当するデータの外観を変更したり、または一時的にデータを非表示にしたりできます。
ユーザーにフィルタリング操作を許可にするには、フィルタリングの種類とフィルタ結果の表示方法を指定します。
フィルタリングの種類は以下の3つが用意されています。
フィルタリングの種類 | 説明 |
---|---|
通常フィルタリング | 列ヘッダにドロップダウンを表示します。ドロップダウンからフィルタを行う条件を選択し、データをフィルタリング表示します。 ドロップダウンするフィルタリスト項目を変更したり、カスタムフィルタの作成も可能です。 |
Excelフィルタリング(拡張フィルタリング) | Excelのフィルタ機能に類似したもので、列ヘッダにドロップダウンボタンを表示します。ドロップダウンボタンを押下すると、さまざまな条件や複数条件でのフィルタを指定できます。 |
条件フィルタリング(フィルタバー) | 列ヘッダの下にフィルタバーを表示します。フィルタバーには、テキストボックスとドロップダウンボタンが表示されます。テキストボックスに入れた値とドロップダウンリストから選択した条件を組み合わせ、データのフィルタを行います。 |
それぞれの詳細な設定方法については、以下の項目を参照してください。
フィルタ結果は、除外された行を非表示にする非表示フィルタか、スタイルを変更して表示するスタイルフィルタのいずれかを指定します。スタイルフィルタを使用するとフィルタによって抽出された行と除外された行の背景色を設定できます。
フィルタ結果の設定方法については、以下の項目を参照してください。
また、フィルタリングのドロップダウンボタンに使用されるアイコン画像を変更することも可能です。FpSpread クラス のSetImage メソッドを使用します。第1引数には、変更を行う画像を指定するSpreadImages 列挙体の以下の値を使用します。
フィルタリングの種類を設定するには、SheetView クラスのAutoFilterMode プロパティを使用します。AutoFilterMode プロパティはAutoFilterMode 列挙体を参照し、以下の値を設定できます。
AutoFilterMode の値 | フィルタリングの種類 |
---|---|
FilterGadget | 通常フィルタリング |
Enhanced | Excelフィルタリング |
FilterBar | 条件フィルタリング |
次に、フィルタ結果の表示方法を設定します。非表示フィルタを作成する場合は、HideRowFilter クラスを、スタイルフィルタを作成する場合は、StyleRowFilter クラスを使用します。これらのクラスのAddColumn メソッドを使用して、フィルタリングを許可する列を指定します。
このフィルタオブジェクトをSheetView クラスのRowFilter プロパティに設定します。
次のサンプルコードは、1列目に通常フィルタリングを適用し、フィルタ結果を非表示にする例です。
// フィルタリングの種類を設定します。 FpSpread1.Sheets[0].AutoFilterMode = FarPoint.Web.Spread.AutoFilterMode.FilterGadget; // 非表示フィルタを設定します。 FarPoint.Web.Spread.HideRowFilter hideRowFilter = new FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets[0]); FpSpread1.Sheets[0].RowFilter = hideRowFilter; FpSpread1.Sheets[0].RowFilter.AddColumn(1);
' フィルタリングの種類を設定します。 FpSpread1.Sheets(0).AutoFilterMode = FarPoint.Web.Spread.AutoFilterMode.FilterGadget ' 非表示フィルタを設定します。 Dim hideRowFilter As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0)) FpSpread1.Sheets(0).RowFilter = hideRowFilter FpSpread1.Sheets(0).RowFilter.AddColumn(1)