SPREAD for ASP.NET 8.0J サンプルコード集
ドロップダウンリストの項目を変更する

セルのデータ以外にドロップダウンリストに表示する項目は、FilterListBehavior列挙体を使用して設定します。

実行例:

初期設定の表示:

「(Blanks)」「(NonBlanks)」を表示しない:

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]);           
FpSpread1.Sheets[0].RowFilter = filter;

//未入力/入力済みセルのための項目を表示しません(項目をソートしません)
FpSpread1.Sheets[0].RowFilter.AddColumn(new FilterColumnDefinition(0, FilterListBehavior.SortNoSort));
//参考まで:未入力セルのための項目を表示します(出現頻度で項目をソートします)
//FpSpread1.Sheets[0].RowFilter.AddColumn(new FilterColumnDefinition(0, FilterListBehavior.SortByMostOccurrences | FilterListBehavior.Blank));
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))
FpSpread1.Sheets(0).RowFilter = filter

'未入力/入力済みセルのための項目を表示しません(項目をソートしません)
FpSpread1.Sheets(0).RowFilter.AddColumn(New FilterColumnDefinition(0, FilterListBehavior.SortNoSort))
'参考まで:未入力セルのための項目を表示します(出現頻度で項目をソートします)
'FpSpread1.Sheets(0).RowFilter.AddColumn(New FilterColumnDefinition(0, FilterListBehavior.SortByMostOccurrences Or FilterListBehavior.Blank))

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

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.