Hows this:
DataGridView dgv = new DataGridView();
public ctor(object sender, EventArgs e)
{
dgv.EditingControlShowing += DgvEditingControlShowing;
}
void DgvEditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is ComboBox)
{
ComboBox comboBox = e.Control as ComboBox;
comboBox.SelectedIndexChanged += delegate
{
DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)sender;
DataGridViewRow row = dgv.Rows[cell.RowIndex];
row.Cells[3].Value = comboBox.SelectedText;
};
}
}
I haven't tested this code but you should be able to reverse engineer it to your needs