| MESCIUS SPREAD for Windows Forms 15.0J サンプルコード集 > 行フィルタリング > 結果を行の表示/非表示ではなくスタイルで区分け表示する |
@通常、フィルタリングされた行はシート上での表示/非表示(HideRowFilterクラス)によって処理されます。また、スタイル行フィルタ(StyleRowFilterクラス)を用いることにより、行の表示/非表示ではなく、フィルタリングされた結果をそれぞれのスタイルで表示させることも可能です。


![]() |
|
private void Form1_Load(object sender, System.EventArgs e) { //自動フィルタのフィルタガジェットを表示します fpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterGadget; //フィルタイン行用の名前付きスタイルオブジェクトを作成します FarPoint.Win.Spread.NamedStyle InNs = new FarPoint.Win.Spread.NamedStyle(); InNs.BackColor = Color.LightCyan; InNs.ForeColor = Color.Red; //フィルタアウト行用の名前付きスタイルオブジェクトを作成します FarPoint.Win.Spread.NamedStyle OutNs = new FarPoint.Win.Spread.NamedStyle(); OutNs.BackColor = Color.LemonChiffon; OutNs.ForeColor = Color.Green; //1列目に対する新しいフィルタ列定義を作成します(デフォルト設定の定義) FarPoint.Win.Spread.FilterColumnDefinition fcd = new FarPoint.Win.Spread.FilterColumnDefinition(0); //StyleRowFilterオブジェクト(スタイルフィルタ)を作成し、上記フィルタ列定義を追加します FarPoint.Win.Spread.StyleRowFilter sf = new FarPoint.Win.Spread.StyleRowFilter(fpSpread1.ActiveSheet, InNs, OutNs); sf.AddColumn(fcd); //作成した行フィルタオブジェクトをシート設定します fpSpread1.ActiveSheet.RowFilter = sf; fpSpread1.ActiveSheet.Cells[0, 0].Value = "North"; fpSpread1.ActiveSheet.Cells[1, 0].Value = "South"; fpSpread1.ActiveSheet.Cells[2, 0].Value = "East"; fpSpread1.ActiveSheet.Cells[3, 0].Value = "South"; fpSpread1.ActiveSheet.Cells[4, 0].Value = "North"; fpSpread1.ActiveSheet.Cells[5, 0].Value = "North"; fpSpread1.ActiveSheet.Cells[6, 0].Value = "West"; fpSpread1.ActiveSheet.Columns[0].Width = 80; }
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load '自動フィルタのフィルタガジェットを表示します FpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterGadget 'フィルタイン行用の名前付きスタイルオブジェクトを作成します Dim InNs As New FarPoint.Win.Spread.NamedStyle InNs.BackColor = Color.LightCyan InNs.ForeColor = Color.Red 'フィルタアウト行用の名前付きスタイルオブジェクトを作成します Dim OutNs As New FarPoint.Win.Spread.NamedStyle OutNs.BackColor = Color.LemonChiffon OutNs.ForeColor = Color.Green '1列目に対する新しいフィルタ列定義を作成します(デフォルト設定の定義) Dim fcd As New FarPoint.Win.Spread.FilterColumnDefinition(0) 'StyleRowFilterオブジェクト(スタイルフィルタ)を作成し、上記フィルタ列定義を追加します Dim sf As New FarPoint.Win.Spread.StyleRowFilter(FpSpread1.ActiveSheet, InNs, OutNs) sf.AddColumn(fcd) '作成した行フィルタオブジェクトをシート設定します FpSpread1.ActiveSheet.RowFilter = sf FpSpread1.ActiveSheet.Cells(0, 0).Value = "North" FpSpread1.ActiveSheet.Cells(1, 0).Value = "South" FpSpread1.ActiveSheet.Cells(2, 0).Value = "East" FpSpread1.ActiveSheet.Cells(3, 0).Value = "South" FpSpread1.ActiveSheet.Cells(4, 0).Value = "North" FpSpread1.ActiveSheet.Cells(5, 0).Value = "North" FpSpread1.ActiveSheet.Cells(6, 0).Value = "West" FpSpread1.ActiveSheet.Columns(0).Width = 80 End Sub