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 ?????
Je vous remercie beaucoup si vous pouvez m'aider....
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
Partager