SPREAD for ASP.NET 8.0J サンプルコード集
コードからフィルタリングする

SheetViewクラスのAutoFilterColumnメソッドを使用します。

実行例:

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);

//1列目を「2016-3-31」でフィルタリングします
FpSpread1.Sheets[0].AutoFilterColumn(0, "2016-3-31");
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)

'1列目を「2016-3-31」でフィルタリングします
FpSpread1.Sheets(0).AutoFilterColumn(0, "2016-3-31")

この例では、テストデータの生成に以下のメソッドを使用しています。

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

 

 


© 2013-2015, GrapeCity inc. All rights reserved.