private void dgvTableFields_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl
&& this.dgvTableFields.CurrentCell.ColumnIndex == this.dgvTableFields.Columns.IndexOf(this.dgvTableFields.Columns["Column3"])
&& this.dgvTableFields.CurrentCell.RowIndex !=-1)
{
this.dataGridViewComboBox = (DataGridViewComboBoxEditingControl)e.Control;
dataGridViewComboBox.SelectionChangeCommitted += new EventHandler(this.dataGridViewComboBox_SelectionChangeCommitted);
}
}
private void dataGridViewComboBox_SelectionChangeCommitted(object sender, EventArgs e)
{
//处理
}
private void dgvTableFields_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
try
{
if (this.dataGridViewComboBox != null)
{
dataGridViewComboBox.SelectionChangeCommitted -= new EventHandler(this.dataGridViewComboBox_SelectionChangeCommitted);
this.dataGridViewComboBox = null;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}