PowerTools CalendarGrid for Windows Forms 1.0J > CalendarGridの使い方 > セル型 > ComboBox型セル(CalendarComboCellType) > 選択されている値のインデックスを取得する |
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ではありません"); } }