我有一个datagrid组合框列,将一些数据从数据库绑定到组合列 我必须提出一个选择组合框项目的事件,请帮助我,我在program.cs中使用了以下代码
this.datagrdADDTEMP.SelectionChanged+= new System.EventHandler(this.dgv_SelectionChanged);
在form.cs
void dgv_SelectionChanged(object sender, EventArgs e){}
但是当我点击单元格时它会引发事件,我想在从组合框中选择项目时引发事件。请帮助我对这个概念事件冒泡的新手
答案 0 :(得分:0)
它不起作用,因为您使用的是DataGridView的SelectionChanged事件,而不是ComboBox事件。
尝试处理EditingControlShowing事件(确保在代码或设计器中实际连接它):
string str = null;
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
var cell = e.Control as ComboBox;
if (cell != null)
{
cell.SelectedIndexChanged -= doWork;
cell.SelectedIndexChanged += doWork;
}
}
private void doWork(object sender, EventArgs e)
{
var tb = dataGridView1.EditingControl as ComboBox;
if (tb != null)
str = tb.SelectedValue != null ? tb.SelectedValue.ToString() : null;
}