Bonjour,
j'ai une datagridview et je veux supprimer une ligne avec click droit mais le problème que : quand je sélectionne la ligne que je veux il me supprime la ligne en haut c'est la ligne que je sélectionne voici le code
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 Private Sub InsertRows()
 
        '*** UNE insertion de ligne(s) ne peut se faire qu'en amont d'une ligne ou de la ligne d'une ou plusieurs cellules sélectionnées.
        If DataGridView1.SelectedCells.Count > 0 Then
            '*** dtFact représente une table de donnée et charge en mémoire les données de la table choisie du Dataset.
            '*** drFact représente une ligne de données du DataTable.
            '*** l'objet DataRow, avec ses propriétés et méthodes permet de récupérer, évaluer, insérer, supprimer et mettre à jour les valeurs du DataTable.
            '*** aireSelectionnee est un tableau qui contiendra la liste de toutes les cellules sélectionnées.
 
            Dim dtFact As DataTable = ds.Tables("DET_DEVIS")
            Dim drFact As DataRow
            Dim aireSelectionnee As ArrayList = New ArrayList
 
            For Each cell As DataGridViewCell In DataGridView1.SelectedCells
                aireSelectionnee.Add(cell.RowIndex)
            Next
 
            '*** TRI cette liste, obtient le n° de la première et de la dernière ligne de la sélection.
            '*** EN cas de sélection multiple de cellules ou de lignes, par choix arbitraire, 
            '***    l'insertion se fera avant la ligne de moindre rang de la sélection et le nombre de lignes insérées
            '***    correspondra au nombre de lignes sélectionnée. 
            Dim premRowselect As Integer
            Dim derRowSelect As Integer
            aireSelectionnee.Sort()
            premRowselect = CInt(aireSelectionnee(0))
            derRowSelect = CInt(aireSelectionnee(aireSelectionnee.Count - 1))
            Dim nbre As Integer = 1
            For nbre = 1 To derRowSelect + 1 - premRowselect
                drFact = dtFact.NewRow()
                dtFact.Rows.InsertAt(drFact, premRowselect)
            Next
            '*** Efface la sélection en cours pour sélectionner uniquement la première des lignes insérées.
            DataGridView1.ClearSelection()
            DataGridView1.Rows(premRowselect).Selected = True
 
        End If
merci d'avance
 
    End Sub