bit*_*onk 4 combobox datagridview focus
一旦单元格中的编辑控件改变了它的选择,我怎么能强制DataGridView.CellValueChanged引发事件(并且已经改变了DataGridViewCell.Value属性的属性)ComboBox?默认情况下,仅在具有ComboBox的单元格失去焦点后才会引发事件.
我解决了这个问题:
myDataGridView.EditingControlShowing += new System.Windows.Forms.DataGridViewEditingControlShowingEventHandler(myDataGridView_EditingControlShowing);
private void myDataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
ComboBox cmb = (ComboBox)e.Control;
cmb.SelectionChangeCommitted -= new EventHandler(cmb_SelectionChangeCommitted);
cmb.SelectionChangeCommitted += new EventHandler(cmb_SelectionChangeCommitted);
}
}
void cmb_SelectionChangeCommitted(object sender, EventArgs e)
{
dgvPresupuesto.CurrentCell.Value = ((DataGridViewComboBoxEditingControl)sender).EditingControlFormattedValue;
}
Run Code Online (Sandbox Code Playgroud)