SPREAD for ASP.NET 10.0J サンプルコード集 > フィルタリング > 条件を満たさない行にスタイルを適用する |
フィルタリング条件を満たさない行を非表示にせず、スタイルを適用して表示するにはStyleRowFilterを使用します。
SetTestData(FpSpread1.Sheets[0]); //列ヘッダ1行目を列見出し、2行目をフィルタに設定します FpSpread1.ColumnHeader.RowCount = 2; FpSpread1.ColumnHeader.AutoTextIndex = 0; FpSpread1.ColumnHeader.AutoFilterIndex = 1; //スタイルフィルタを設定します NamedStyle inStyle = new NamedStyle() { ForeColor = System.Drawing.Color.Blue }; NamedStyle outStyle = new NamedStyle() { ForeColor = System.Drawing.Color.LightGray }; StyleRowFilter sfilter = new StyleRowFilter(FpSpread1.Sheets[0], inStyle, outStyle); FpSpread1.Sheets[0].RowFilter = sfilter; FpSpread1.Sheets[0].RowFilter.AddColumn(0);
SetTestData(FpSpread1.Sheets(0)) '列ヘッダ1行目を列見出し、2行目をフィルタに設定します FpSpread1.ColumnHeader.RowCount = 2 FpSpread1.ColumnHeader.AutoTextIndex = 0 FpSpread1.ColumnHeader.AutoFilterIndex = 1 'スタイルフィルタを設定します Dim inStyle As New NamedStyle() With { .ForeColor = System.Drawing.Color.Blue } Dim outStyle As New NamedStyle() With { .ForeColor = System.Drawing.Color.LightGray } Dim sfilter As New StyleRowFilter(FpSpread1.Sheets(0), inStyle, outStyle) FpSpread1.Sheets(0).RowFilter = sfilter FpSpread1.Sheets(0).RowFilter.AddColumn(0)
この例では、テストデータの生成に以下のメソッドを使用しています。
public void SetTestData(SheetView sheet) { sheet.RowCount = 10; string tab = "\t", ent="\r\n"; string data = "2015/12/1" + tab + "ZZZ" + tab + "1000" + ent + "2016/3/31" + tab + "YYY" + tab + "2000" + ent + "2016/3/31" + tab + "XXX" + tab + "3000" + ent; sheet.SetClip(0, 0, 3, 3, data); DateTimeCellType dateCell = new DateTimeCellType() { FormatString = "yyyy-M-d" }; sheet.Columns[0].CellType = dateCell; }
Public Sub SetTestData(sheet As SheetView) sheet.RowCount = 10 Dim tab As String = vbTab, ent As String = vbNewLine Dim data As String = "2015/12/1" + tab + "ZZZ" + tab + "1000" + ent _ + "2016/3/31" + tab + "YYY" + tab + "2000" + ent _ + "2016/3/31" + tab + "XXX" + tab + "3000" + ent sheet.SetClip(0, 0, 3, 3, data) Dim dateCell As New DateTimeCellType() With {.FormatString = "yyyy-M-d"} sheet.Columns(0).CellType = dateCell End Sub