datagridview内的组合框项目选择的事件冒泡



我有一个datagrid combobox列,将一些数据从数据库绑定到comboboxolumn我必须提出一个选择组合框项目的事件,请帮助我,我在程序.cs 中使用了以下代码

this.datagrdADDTEMP.SelectionChanged+= new System.EventHandler(this.dgv_SelectionChanged);

形式.cs

void dgv_SelectionChanged(object sender, EventArgs e){}

但是当我点击单元格时会引发事件,我想在从组合框中选择项目时引发事件。请帮助我了解这个概念事件冒泡

它不起作用,因为您使用的是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;
    }

最新更新