PowerTools CalendarGrid for Windows Forms 1.0J
選択されている値のインデックスを取得する

ComboBox型セルは、コンボボックスの外観と機能を提供します。コンボボックスでは、ユーザーが値をリストから選択したり、テキストボックスに値を入力することができます。

CalendarComboBoxCellType.ValueAsIndexプロパティがFalseのとき、セルの値にはComboBox型セルで選択された値のテキストが格納されます。Trueのとき、セルの値にはComboBox型セルで選択された値のインデックスが格納されます。

Imports GrapeCity.Win.CalendarGrid

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim today As DateTime = DateTime.Today
    Dim comboBoxCellType As New CalendarComboBoxCellType()
    comboBoxCellType.Items.Add("東京")
    comboBoxCellType.Items.Add("名古屋")
    comboBoxCellType.Items.Add("大阪")
    comboBoxCellType.ValueAsIndex = True

    GcCalendarGrid1.Content(today).Rows(1).Cells(0).Value = True
    GcCalendarGrid1.Content(today).Rows(1).Cells(0).CellType = comboBoxCellType.Clone()
    GcCalendarGrid1.ScrollIntoView(today)
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim gcCalendarGrid As GcCalendarGrid = Me.GcCalendarGrid1
    Dim currentCell As CalendarCell = gcCalendarGrid(gcCalendarGrid.CurrentCellPosition.Date) _
        (gcCalendarGrid.CurrentCellPosition.RowIndex, gcCalendarGrid.CurrentCellPosition.ColumnIndex)

    If TypeOf currentCell.CellType Is CalendarComboBoxCellType Then
        MessageBox.Show(String.Format("選択されているインデックス: {0}", currentCell.Value))
    Else
        MessageBox.Show("現在のセルはComboBoxCellではありません")
    End If
End Sub
using GrapeCity.Win.CalendarGrid;

private void Form1_Load(object sender, EventArgs e)
{
    var today = DateTime.Today;
    var comboBoxCellType = new CalendarComboBoxCellType();
    comboBoxCellType.Items.Add("東京");
    comboBoxCellType.Items.Add("名古屋");
    comboBoxCellType.Items.Add("大阪");
    comboBoxCellType.ValueAsIndex = true;

    gcCalendarGrid1.Content[today].Rows[1].Cells[0].Value = true;
    gcCalendarGrid1.Content[today].Rows[1].Cells[0].CellType = comboBoxCellType.Clone();
    gcCalendarGrid1.ScrollIntoView(today);
}

private void button1_Click(object sender, EventArgs e)
{
    GcCalendarGrid gcCalendarGrid = this.gcCalendarGrid1;
    CalendarCell currentCell = gcCalendarGrid[gcCalendarGrid.CurrentCellPosition.Date]
        [gcCalendarGrid.CurrentCellPosition.RowIndex, gcCalendarGrid.CurrentCellPosition.ColumnIndex];

    if (currentCell.CellType is CalendarComboBoxCellType)
    {
        MessageBox.Show(string.Format("選択されているインデックス: {0}", currentCell.Value));
    }
    else
    {
        MessageBox.Show("現在のセルはComboBoxCellではありません");
    }
}
参照

 

 


© 2014 GrapeCity inc. All rights reserved.