Ciao a tutti,
ho un problema a trovare gli eventi corretti che mi consentono di gestire una situazione apparentemente semplice.
In pratica ho una dgv con una sola colonna editabile di tipo combobox popolata sempre con gli stessi elementi; se l'utente seleziona un valore già presente in un'altra riga della grid quest'ultima combobox deve essere messa a index 0 e quindi senza nessun testo selezionato.

Ho fatto questo codice:
codice:
Private Sub ComboBoxIndexChanged()
        Dim i As Integer

        For i = 0 To dgvAssegnaColonne.Rows.Count - 1
            If i <> dgvAssegnaColonne.CurrentRow.Index Then
                If dgvAssegnaColonne.Rows(i).Cells(3).Value = dgvAssegnaColonne.Rows(dgvAssegnaColonne.CurrentRow.Index).Cells(3).Value Then
                    dgvAssegnaColonne.Rows(i).Cells(3).Value = ""
                    Exit Sub
                End If
            End If
        Next
    End Sub

    Private Sub dgvAssegnaColonne_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgvAssegnaColonne.EditingControlShowing
        Dim comboBox As ComboBox = CType(e.Control, ComboBox)

        If (Not (comboBox) Is Nothing) Then
            'RemoveHandler comboBox.SelectedIndexChanged, AddressOf Me.ComboBoxIndexChanged
            AddHandler comboBox.SelectedIndexChanged, AddressOf Me.ComboBoxIndexChanged
        End If
    End Sub
Il problema è che la variabile
codice:
dgvAssegnaColonne.Rows(dgvAssegnaColonne.CurrentRow.Index).Cells(3).Value
è popolata ancora con il valore precedente alla modifica quando parte l'evento ComboBoxIndexChanged.

Ho cercato tra tutte le possibili CellValidated, CellValidating , CellValueChanged etc ma non trovo nulla che fa al caso mio.

Sapete darmi una mano?

Grazie
Andrea