Drag and drop dans une msflexgrid [Résolu]

cs_djeba 1 Messages postés mercredi 29 novembre 2006Date d'inscription 28 décembre 2006 Dernière intervention - 28 déc. 2006 à 14:11 - Dernière réponse : cs_MPi 3868 Messages postés mardi 19 mars 2002Date d'inscription 24 mai 2018 Dernière intervention
- 28 déc. 2006 à 23:54
Comment faire un dragdrop dans une msflexgrid avec échange des deux positions. Merci
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
cs_MPi 3868 Messages postés mardi 19 mars 2002Date d'inscription 24 mai 2018 Dernière intervention - 28 déc. 2006 à 23:54
3
Merci
Salut,

Si tu parles d'intervertir les données d'une FlexGrid par DragDrop, voici un exemple
Places une grille nommée Grid1 et un Label invisible nommé par défaut Label1
Le Label est là pour l'effet de Drag et tant qu'à y être pour transporter la valeur de la cellule de départ

Option Explicit

Dim TempCol As Integer, TempLigne As Integer

Private Sub Grid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    'Déterminer la position originale du click de souris
    TempLigne = Grid1.RowSel
    TempCol = Grid1.ColSel
   
    'Déplacer le Label invisible sur cette cellule pour l'effet
    Label1.Move Grid1.CellLeft + Grid1.Left, _
                Grid1.CellTop + Grid1.Top, _
                Grid1.CellWidth, _
                Grid1.CellHeight
   
    'Label1 contiendra la valeur à transférer
    Label1 = Grid1.TextMatrix(TempLigne, TempCol)
   
    'Commencement du Drag
    Label1.Drag
   
End Sub

Private Sub Grid1_DragDrop(Source As Control, x As Single, y As Single)
    Dim Ligne As Integer, Colonne As Integer
    Dim strTemp As String
   
    'Déterminer l'endroit d'arrivée
    Ligne = Grid1.MouseRow
    Colonne = Grid1.MouseCol
      
    'Stocker le texte avant de l'écraser
    strTemp = Grid1.TextMatrix(Ligne, Colonne)
   
    'inscrire les 2 nouvelles valeurs
    Grid1.TextMatrix(Ligne, Colonne) = Label1.Caption
    Grid1.TextMatrix(TempLigne, TempCol) = strTemp

End Sub

MPi

Merci cs_MPi 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_MPi

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.