Bonjour à tous ,
J'ai encore un petit problème :
Je cherche à valider le contenu d'une cellule lorsque l'utilisateur à terminé la saisie complète du texte dans la cellule. Je tente d'utiliser pour cela le code suivant :
Le problème c'est que j'au un tri automatique justement sur la colonne qui contient la cellule que je veux éditer et valider, et les valeurs que j'obtient correspondent aux valeurs de la ligne qui vient en remplacement de ma ligne en cours d’édition une fois le trie effectué.
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 DataGridViewMain_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridViewMain.CellEndEdit Dim ColName As String = DataGridViewMain.Columns(e.ColumnIndex).Name Dim key As Integer = CInt(ValuefromDB(DataGridViewMain.Rows(e.RowIndex).Cells("Key").Value)) Dim Value As Object = ValuefromDB(DataGridViewMain.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) Select Case ColName Case "Repere" Dim NewRepere As String = CType(Value, String) If _Projet.Segments.DicoRepere.ContainsKey(NewRepere) Then MessageBox.Show(String.Format("le Repere {0} existe déja dans la collection, l'opération va être annulée", NewRepere), "Repere existant", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Else _Projet.Segments(key).Repere = CType(Value, String) End If End Select End Sub
Je ne comprends pas du tout ce comportement. Lorsque je suis dans l'event de EndEdit de la cellule je m'attends à obtenir un e.rowindex qui me permet de lire la dite cellule....hors ce n'st pas le cas.
Pouvez vous m'aider et m'expliquer un peu ce qui se passe...
Partager