2017-07-31 44 views
1

私はDataGridViewComboBoxCellコントロールをいくつか持っています。私は、ユーザーがドロップダウンから値を選択するときに値を取得したいと思います。私は、EditingControlShowingが使用できるDataGridViewComboBoxColumnを使用することはできません。私はDataGridViewComboBoxCellのための同様のイベントハンドラが必要です。誰もがplsを助けることができます。以下イベントの設定方法Datagridviewcomboboxセルの選択が変更されましたか?

見つけてくださいコードサンプルは:

private DataGridViewComboBoxCell NameDropDown = new DataGridViewComboBoxCell();  

public void SetDropDown(int index) 
     { 
     NameDropDown = new DataGridViewComboBoxCell();   
     DropDownValues(index); 
     for (int j = 0; j < DropDownOld.Items.Count; j++) 
     { 
      NameDropDown.Items.Add(DropDownOld.Items[j]); 
     } 
     dataGridView1.Rows[index].Cells[4] = NameDropDown; 
     } 

答えて

1

はい、あなたはコンボボックスへのハンドルを取得するためにEditingControlShowingイベントを使用することができます。

次に、SelectedIndexChangedのイベントハンドラまたは任意のイベントをフックアップしてコード化します。

DataGridViewComboBoxEditingControl cbec = null; 

private void dataGridView1_EditingControlShowing(object sender, 
          DataGridViewEditingControlShowingEventArgs e) 
{ 
    if (e.Control is DataGridViewComboBoxEditingControl) 
    { 
     cbec = e.Control as DataGridViewComboBoxEditingControl; 
     cbec.SelectedIndexChanged -=Cbec_SelectedIndexChanged; 
     cbec.SelectedIndexChanged +=Cbec_SelectedIndexChanged; 
    } 
} 

private void Cbec_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (cbec != null) Console.WriteLine(cbec.SelectedItem.ToString()); 
} 
+0

ありがとうございました。良い一日を。 – Newbie0111

関連する問題