“SelectedIndexChanged” événement dans ComboBoxColumn sur Datagridview

Je veux gérer cet événement SelectedIndexChanged" sur un DataGridViewComboBoxColumn,
et je l'ai mis sur "EditingControlShowing" l'événement de la gridview.

Le problème :
"SelectedIndexChanged" l'événement n'est pas déclenché lors de la première tentative de sélection d'un Élément dans la zone de liste déroulante, mais après la sélection de cet élément pour la deuxième fois, l'événement est déclenché et tout fonctionne bien !

Voici le code:

private void dgvRequest_EditingControlShowing(object sender,
     DataGridViewEditingControlShowingEventArgs e)
{
    ComboBox combo = e.Control as ComboBox;

    if (combo != null)
    {
        if (dgvRequest.CurrentCell.ColumnIndex == col_ConfirmCmb.Index)
        {
            combo.SelectedIndexChanged -= combo_ConfirmSelectionChange;
            combo.SelectedIndexChanged += combo_ConfirmSelectionChange;

            return;
        }
    }
}


void combo_ConfirmSelectionChange(object sender, EventArgs e)
{
    if (dgvRequest.CurrentCell.ColumnIndex != col_ConfirmCmb.Index) return;

    ComboBox combo = sender as ComboBox;
    if (combo == null) return;

    MessageBox.Show(combo.SelectedText);//returns Null for the first time
}
InformationsquelleAutor shahab | 2010-08-04