SPREAD for WPF 4.0J - GcSpreadSheet
列挙型フィールド
MESCIUS SPREAD for WPF 4.0J - GcSpreadSheet > 開発者ガイド > セル型 > マスク型セル > 列挙型フィールド

列挙型フィールドは、文字列のコレクションからどれか1つにマッチする値を入力可能とします。列挙型フィールドは、MaskEnumerationField クラスを使用して設定します。入力可能な文字列のコレクションは Items プロパティに設定します。

ユーザーが文字列のコレクションからどれか1つ項目を選択するには、スピン機能とドロップダウン リストを使用する方法があります。それぞれの方法について説明します。

スピン機能の有効化

ユーザーは次の方法でスピン機能で項目を送る、または戻すことができます。

スピン機能を有効にするには AllowSpin プロパティを設定します。また、スピンボタンの表示方法は SpinButtonVisibility プロパティで設定できます。

次のサンプルコードはマスク型セルでスピンボタンを表示します。

コードのコピー
MaskCellType msk = new MaskCellType();
msk.FieldSet = new MaskFieldSet("所在: (仙台本社|関東支社|大阪支店|名古屋営業所)");
msk.SpinButtonVisibility = CellButtonVisibility.AlwaysShow;
GcSpreadSheet.Workbook.ActiveSheet.Cells[1, 2].CellType = msk;
コードのコピー
Dim msk As MaskCellType = New MaskCellType()
msk.FieldSet = New MaskFieldSet("所在: (仙台本社|関東支社|大阪支店|名古屋営業所)")
msk.SpinButtonVisibility = CellButtonVisibility.AlwaysShow
GcSpreadSheet.Workbook.ActiveSheet.Cells(1, 2).CellType = msk

値のループ

スピン機能で項目を送る、または戻すことにより最後の項目に達した場合は最初の項目を、最初の項目に達した場合は最後の項目を設定するかどうかを SpinAllowWrap プロパティに設定します。

ドロップダウンリストの表示

次の図のようにドロップダウンリストを表示できます。

ユーザーは次の方法でドロップダウン リストを表示できます。

ドロップダウン リストの表示を有効にするには、列挙型フィールドの AllowDropDownOpen プロパティを True に設定します。

次のサンプルコードはマスク型セルの列挙型フィールドでドロップダウン リストの表示を有効にします。

コードのコピー
MaskCellType msk = new MaskCellType();
msk.FieldSet = new MaskFieldSet();
msk.FieldSet.Fields.Add(new MaskLiteralField() { Text = "所在:" });
msk.FieldSet.Fields.Add(new MaskEnumerationField()
{
    Items = new ObservableCollection<StringItem>() { "仙台本社", "関東支社", "大阪支店", "名古屋営業所" },
    AllowDropDownOpen = true
});
GcSpreadSheet.Workbook.ActiveSheet.Cells[1, 2].CellType = msk;
コードのコピー
Dim msk As MaskCellType = New MaskCellType()
msk.FieldSet = New MaskFieldSet()
msk.FieldSet.Fields.Add(New MaskLiteralField() With {
    .Text = "所在:"
})
msk.FieldSet.Fields.Add(New MaskEnumerationField() With {
    .Items = New ObservableCollection(Of StringItem)() From {
        "仙台本社",
        "関東支社",
        "大阪支店",
        "名古屋営業所"
    },
    .AllowDropDownOpen = True
})
GcSpreadSheet.Workbook.ActiveSheet.Cells(1, 2).CellType = msk