SPREAD for ASP.NET 10.0J サンプルコード集 > フィルタリング > ドロップダウンリストの文字列を変更する |
ドロップダウンリストには、セルの値以外に、すべての行、未入力の行、入力済みの行を表す文字列が表示されます。非表示フィルタ、またはスタイルフィルタのAllStringプロパティ、BlanksStringプロパティ、NonBlanksStringプロパティに文字列を設定します。
SetTestData(FpSpread1.Sheets[0]); //列ヘッダ1行目を列見出し、2行目をフィルタに設定します FpSpread1.ColumnHeader.RowCount = 2; FpSpread1.ColumnHeader.AutoTextIndex = 0; FpSpread1.ColumnHeader.AutoFilterIndex = 1; //非表示フィルタを設定します HideRowFilter filter = new HideRowFilter(FpSpread1.Sheets[0]) { AllString="[すべて]", BlanksString="[未入力]", NonBlanksString="[入力済み]" }; FpSpread1.Sheets[0].RowFilter = filter; 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 filter As New HideRowFilter(FpSpread1.Sheets(0)) With { .AllString = "[すべて]", .BlanksString = "[未入力]", .NonBlanksString = "[入力済み]" } FpSpread1.Sheets(0).RowFilter = filter 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