Bonjour à tous, ça fait longtemps que j'ai pas posté. J’espère que vous pourrez m'aider.

Je cherche à obtenir des données de ma ligne courante sélectionnée lorsque je fait un clique droit mais lors de ce clique, l’événement SelectionChanged se déclenche et j'obtiens les données de la sélection précédente...alors que ça fonctionne très bien sur le clique gauche....

Par exemple, initialement je suis positionné sur la ligne 10 du dgv, puis je fait un clique droit sur la ligne 15, dans CellMouseDown j'ai e.rowindex qui vaux bien 15, ensuite l’exécution du code passe dans le SelectionChanged et dans celui-ci RowIndex vaux 10 !!! Une idée d'ou ça pourrait venir ?????

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Private Sub DataGridViewCars_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridViewCars.CellMouseDown
        If e.Button = Windows.Forms.MouseButtons.Right Then
            If e.ColumnIndex >= 0 And e.RowIndex >= 0 Then
                DataGridViewCars.CurrentCell = DataGridViewCars.Rows(e.RowIndex).Cells(e.ColumnIndex)
            End If
        End If
    End Sub
 Private Sub DataGridViewCars_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridViewCars.SelectionChanged
       If DataGridViewCars.Rows.Count > 0 Then
            If DataGridViewCars.CurrentRow Is Nothing Then DataGridViewCars.CurrentCell = DataGridViewCars.Rows(0).Cells(0)
            Dim RowIndex As Integer = DataGridViewCars.CurrentRow.Index
            SelectedCar = CStr(DataGridViewCars.Rows(RowIndex).Cells(dgvCols.Name.Name).Value)
            AfficheDataCar(SelectedCar )
            End If
    End Sub
Je vous remercie beaucoup si vous pouvez m'aider....