PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > データ操作 > フィルタリング > 通常フィルタリング |
通常フィルタリングを適用すると、下図のように、列ヘッダにインジケータとしてドロップダウンリストが表示されます。
ヘッダにテキストを表示する場合は、列ヘッダをもう1行追加して、この行にテキストを表示する必要があります。なお、ドロップダウンリストを表示する列ヘッダのインデックスを指定することも可能です。
列ヘッダ表示されるドロップダウンボタンをクリックすると、フィルタ基準を選択するためのドロップダウンリストが表示されます。リストからいずれかの項目を選択すると、このフィルタが適用され、この列内で条件を満たすすべての行がフィルタリングされます。デフォルトのドロップダウンリストには、この列のセル内の重複しないすべてのテキスト値が表示されます。
ドロップダウンリストに表示されるフィルタ項目のカスタマイズ方法については「フィルタ項目の変更」を参照してください。
フィルタをカスタマイズする方法については「カスタムフィルタ」を参照してください。
通常フィルタリングを適用するには、SheetView クラスのAutoFilterMode プロパティ をAutoFilterMode.FilterGadget に設定します。なお、既定値はFilterGadgetなので、特に指定しない場合も通常フィルタリングが適用されます。
列ヘッダが複数行ある場合、フィルタ項目を表示する列ヘッダのインデックスは、ColumnHeaderAutoFilterIndex プロパティで指定します。ヘッダテキストを表示する列ヘッダのインデックスはColumnHeaderAutoTextIndex プロパティで設定できます。これらに異なる値を設定することで、フィルタ項目のドロップダウンとヘッダテキストの両方を表示することが可能です。
次のサンプルコードは、通常フィルタリングに非表示フィルタを適用する設定例です。
// 非表示フィルタを設定します。 FarPoint.Web.Spread.HideRowFilter hideRowFilter = new FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets[0]); FpSpread1.Sheets[0].RowFilter = hideRowFilter; // 1列目に通常フィルタリングを適用します。 FpSpread1.Sheets[0].RowFilter.AddColumn(1); // 列ヘッダを2行表示し、テキストとドロップダウンリストの表示位置を設定します。 FpSpread1.Sheets[0].ColumnHeader.RowCount = 2; FpSpread1.Sheets[0].ColumnHeaderAutoFilterIndex = 1; FpSpread1.Sheets[0].ColumnHeaderAutoTextIndex = 0;
' 非表示フィルタを設定します。 Dim hideRowFilter As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0)) FpSpread1.Sheets(0).RowFilter = hideRowFilter ' 1列目に通常フィルタリングを適用します。 FpSpread1.Sheets(0).RowFilter.AddColumn(1) ' 列ヘッダを2行表示し、テキストとドロップダウンリストの表示位置を設定します。 FpSpread1.Sheets(0).ColumnHeader.RowCount = 2 FpSpread1.Sheets(0).ColumnHeaderAutoFilterIndex = 1 FpSpread1.Sheets(0).ColumnHeaderAutoTextIndex = 0