cs_roro69
Messages postés70Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention29 septembre 2018
-
3 déc. 2016 à 10:12
cs_roro69
Messages postés70Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention29 septembre 2018
-
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
' '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
cs_Le Pivert
Messages postés7884Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention20 mars 2023137 3 déc. 2016 à 11:15
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