Bonjour à tous,
Voici mon problème :
Je fais de l'encodage dans une colonne précise d'un datagrid et je fais un test de valeur de cette colonne qui ne peut dépasser un maximum ... Si ce maximum est dépassé, je souhaite garder le focus sur la même colonne dans la même ligne ... pour empêcher la saisie de l'info suivante ....
Voici les code utilisé :
En cas de dépassement du maximum, après affichage de la messagebox, le focus est donné à la bonne cellule mais dans la ligne suivante ...
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
16
17
18
19
20
21
22 Private Sub dgvPointsTmp3_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvPointsTmp3.CellValueChanged Dim Test As Integer = dgvPointsTmp3.Rows(e.RowIndex).Cells(8).Value Dim Max As Integer = dgvPointsTmp3.Rows(e.RowIndex).Cells(9).Value Select Case Test Case 0 Dim result As DialogResult = MessageBox.Show("Eleve absent ?", "Attention !", MessageBoxButtons.YesNo) If result = DialogResult.Yes Then dgvPointsTmp3.Rows(e.RowIndex).Cells(10).Value = True Exit Sub Else Exit Select End If dgvPointsTmp3.Update() Case > Max MessageBox.Show("Cote erronée > '" & Max & "'", "Attention !") Dim rowNumber As Integer = (e.RowIndex + 1) Dim cellNumber As Integer = 8 dgvPointsTmp3.CurrentCell = dgvPointsTmp3(cellNumber, rowNumber) Exit Select End Select End Sub
Quelqu'un a-t'il une idée pour résoudre le problème ???
D'avance, merci
Partager