作成日: 2020/09/16 最終更新日: 2020/09/16
文書種別
使用方法
詳細
標準のComboBoxコントロールをC1FlexGridのエディタとして使用し、ComboBoxのDropDownClosedイベントにて、 C1FlexGridのEditor.Textおよびセル値にComboBoxの選択値を設定することで、コンボボックス型セルにリスト項目とは別の値を表示させることができます。
この場合、DropDownClosedイベント内でC1FlexGridのStartEditingとFinishEditingメソッドを実行する間に、上記設定を行ってください。
◎サンプルコード(VB)
この場合、DropDownClosedイベント内でC1FlexGridのStartEditingとFinishEditingメソッドを実行する間に、上記設定を行ってください。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' コンボボックスのデータ設定
Dim dt As System.Data.DataTable = New System.Data.DataTable()
dt.Columns.Add("キー")
dt.Columns.Add("リスト項目")
dt.Rows.Add("1", "A01")
dt.Rows.Add("2", "A02")
dt.Rows.Add("3", "A03")
dt.Rows.Add("4", "A04")
dt.Rows.Add("5", "A05")
' (Formに標準のComboBox(名前:ComboBox1)を追加しておきます)
ComboBox1.ValueMember = "キー"
ComboBox1.DisplayMember = "リスト項目"
ComboBox1.DataSource = dt
ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
AddHandler ComboBox1.DropDownClosed, AddressOf ComboBox1_DropDownClosed 'DropDownClosedイベントの追加
' c1FlexGrid1の1列目のエディタにComboBoxを設定
C1FlexGrid1.Cols(1).Editor = comboBox1
C1FlexGrid1.Cols(1).Caption = "ComboBox"
End Sub
Private Sub ComboBox1_DropDownClosed(sender As Object, e As EventArgs)
' C1FlexGrid1の編集を開始
C1FlexGrid1.StartEditing()
C1FlexGrid1.Editor.Text = ComboBox1.SelectedValue.ToString
C1FlexGrid1(C1FlexGrid1.Row, C1FlexGrid1.Col) = C1FlexGrid1.Editor.Text
' C1FlexGrid1の編集を終了
C1FlexGrid1.FinishEditing()
End Sub
◎サンプルコード(C#) private void Form1_Load(object sender, EventArgs e)
{
// コンボボックスのデータ設定
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("キー");
dt.Columns.Add("リスト項目");
dt.Rows.Add("1", "A01");
dt.Rows.Add("2", "A02");
dt.Rows.Add("3", "A03");
dt.Rows.Add("4", "A04");
dt.Rows.Add("5", "A05");
// (Formに標準のComboBox(名前:comboBox1)を追加しておきます)
comboBox1.ValueMember = "キー";
comboBox1.DisplayMember = "リスト項目";
comboBox1.DataSource = dt;
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
comboBox1.DropDownClosed += comboBox1_DropDownClosed; //DropDownClosedイベントの追加
// c1FlexGrid1の1列目のエディタにComboBoxを設定
c1FlexGrid1.Cols[1].Editor = comboBox1;
c1FlexGrid1.Cols[1].Caption = "ComboBox";
}
private void comboBox1_DropDownClosed(object sender, EventArgs e)
{
// c1FlexGrid1の編集を開始
c1FlexGrid1.StartEditing();
c1FlexGrid1.Editor.Text = comboBox1.SelectedValue.ToString();
c1FlexGrid1[c1FlexGrid1.Row, c1FlexGrid1.Col] = c1FlexGrid1.Editor.Text;
// c1FlexGrid1の編集を終了
c1FlexGrid1.FinishEditing();
}
関連情報
旧文書番号
86008