PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > データ操作 > フィルタリング > フィルタ結果の表示 > スタイル行フィルタ |
スタイル行フィルタを適用する場合は、通常どおりすべてのデータを表示し、特定の基準を満たした行だけを強調表示できますが、この場合はフィルタインスタイルとフィルタアウトスタイルを定義する必要があります。
スタイルの定義には、名前付きスタイルを使用します。
スタイル行フィルタは、StyleRowFilter クラスを使用して生成します。StyleRowFilter クラスのInStyle プロパティおよびOutStyle プロパティに、名前付きスタイルを定義したNamedStyle オブジェクトを設定します。
StyleRowFilter クラスのAddColumn メソッドを使用して、列ごとのフィルタ項目を定義したFilterColumnDefinition クラスを追加します。
SheetView クラスのRowFilter プロパティに作成したStyleRowFilter オブジェクトを設定すると、シートにフィルタリングが適用されます。
次のサンプルコードは、スタイル行フィルタを設定します。
FarPoint.Web.Spread.NamedStyle instyle = new FarPoint.Web.Spread.NamedStyle(); FarPoint.Web.Spread.NamedStyle outstyle = new FarPoint.Web.Spread.NamedStyle(); instyle.BackColor = Color.Yellow; outstyle.BackColor = Color.Aquamarine; FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences | FarPoint.Web.Spread.FilterListBehavior.Default); FarPoint.Web.Spread.FilterColumnDefinition fcd1 = new FarPoint.Web.Spread.FilterColumnDefinition(2); FarPoint.Web.Spread.FilterColumnDefinition fcd2 = new FarPoint.Web.Spread.FilterColumnDefinition(); FarPoint.Web.Spread.StyleRowFilter sf = new FarPoint.Web.Spread.StyleRowFilter(FpSpread1.Sheets[0], instyle, outstyle); sf.AddColumn(fcd); sf.AddColumn(fcd1); sf.AddColumn(fcd2); FpSpread1.Sheets[0].RowFilter = sf;
Dim instyle As New FarPoint.Web.Spread.NamedStyle() Dim outstyle As New FarPoint.Web.Spread.NamedStyle() instyle.BackColor = Color.Yellow outstyle.BackColor = Color.Aquamarine Dim fcd As New FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences Or FarPoint.Web.Spread.FilterListBehavior.Default) Dim fcd1 As New FarPoint.Web.Spread.FilterColumnDefinition(2) Dim fcd2 As New FarPoint.Web.Spread.FilterColumnDefinition() Dim sf As New FarPoint.Web.Spread.StyleRowFilter(FpSpread1.Sheets(0), instyle, outstyle) sf.AddColumn(fcd) sf.AddColumn(fcd1) sf.AddColumn(fcd2) FpSpread1.Sheets(0).RowFilter = sf