Changer ordre ligne DatagridView [Résolu]

cs_roro69 70 Messages postés vendredi 27 décembre 2002Date d'inscription 29 septembre 2018 Dernière intervention - 3 déc. 2016 à 10:12 - Dernière réponse : cs_roro69 70 Messages postés vendredi 27 décembre 2002Date d'inscription 29 septembre 2018 Dernière intervention
- 4 mars 2017 à 17:58
Bonjour, et d'avance merci pour l'aide apporté et le temps consacré
Voici mon problème
Je souhaite dans un datagridview ;monter ou descendre la ligne selectionnée voilà pour le moment ce que j'ai tenté:

Private Sub BougerLigne(ByVal i As Integer)

Try
Dim dgv As DataGridView = DataGridView1
If (dgv.SelectedCells.Count > 0) Then

Dim curr_index As Integer = dgv.CurrentCell.RowIndex

Dim curr_col_index As Integer = dgv.CurrentCell.ColumnIndex

Dim curr_row As DataGridViewRow = dgv.CurrentRow

dgv.Rows.Remove(curr_row)

dgv.Rows.Insert(curr_index + i, curr_row)

dgv.CurrentCell = dgv(curr_col_index, curr_index + i)

End If

Catch ex As Exception

' 'Ne rien faire en cas d'erreur lors de la tentative de déplacer la ligne vers le haut ou vers le bas

End Try

End Sub

Private Sub Monter_Click(sender As Object, e As EventArgs) Handles Button3.Click
'Si déjà sur la première ligne, ne pas essayer de déplacer la ligne vers le haut
If DataGridView1.CurrentCell.RowIndex = 0 Then
Exit Sub
End If
BougerLigne(-1) ' Bouge Ligne-1
End Sub

Private Sub Descendre_Click(sender As Object, e As EventArgs) Handles Button4.Click
'Si déjà sur la rangée du bas, ne pas essayer de déplacer la ligne vers le bas
If DataGridView1.CurrentCell.RowIndex = DataGridView1.RowCount - 1 Then
Exit Sub
End If
BougerLigne(1) 'Bouge ligne +1
End Sub

Avec ce code ; les lignes ce déplacent correctement ; mais j'ai une colonne de type image et là par contre les cellules ne bougent pas.
Quelle solution pourrais je trouvé
Merci

--
Afficher la suite 

Votre réponse

2 réponses

cs_Le Pivert 5454 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention - 3 déc. 2016 à 11:15
0
Merci
Bonjour,

Comme ceci:

 'Deplacer up down
    Private Sub MoveRow(ByVal i As Integer)
        Try
            If (DataGridView1.SelectedCells.Count > 0) Then
                Dim curr_index As Integer = DataGridView1.CurrentCell.RowIndex
                Dim curr_col_index As Integer = DataGridView1.CurrentCell.ColumnIndex
                Dim curr_row As DataGridViewRow = DataGridView1.CurrentRow
                DataGridView1.Rows.Remove(curr_row)
                DataGridView1.Rows.Insert(curr_index + i, curr_row)
                DataGridView1.CurrentCell = DataGridView1(curr_col_index, curr_index + i)
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    'monter item
    Private Sub cmdup_Click(sender As System.Object, e As System.EventArgs) Handles cmdup.Click
        If DataGridView1.CurrentCell.RowIndex = 0 Then
            Exit Sub
        End If
        MoveRow(-1) ' move up in the datagridview (row index is 1 less)
      End Sub
    'descendre item
    Private Sub cmddown_Click(sender As System.Object, e As System.EventArgs) Handles cmddown.Click
        If DataGridView1.CurrentCell.RowIndex = DataGridView1.Rows.Count - 2 Then
            Exit Sub
        End If
        MoveRow(1) ' move down in the datagridview (row index is 1 more)
  End Sub



Essayé sur ce programme avec succès:


http://codes-sources.commentcamarche.net/source/101574-import-excel-dans-datagridview-en-vb-net


Commenter la réponse de cs_Le Pivert
cs_roro69 70 Messages postés vendredi 27 décembre 2002Date d'inscription 29 septembre 2018 Dernière intervention - 4 mars 2017 à 17:58
0
Merci
Bonjour et vraiment désolé pour le retard(Souci médical) du remerciement en tout cas merci beaucoup
çà marche Parfaitement Merci


--
Commenter la réponse de cs_roro69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.