Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Position deposer
|
Position deposer {( numColonne | posYImage )} -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
numColonne | posYImage | Entier long |
![]() |
Numéro de colonne de list box (-1 si le déposer a lieu après la dernière colonne) ou Position coordonnée Y dans l'image |
|||||
Résultat | Entier long |
![]() |
• Numéro (tableau/list box) ou • Position (liste hiérarchique) ou • Position dans la chaîne (texte/combo box) de l'élément de destination ou • -1 si le déposer a lieu après le dernier élément de tableau ou de liste ou • Position coordonnée X dans l’image |
|||||
Position deposer permet de connaître l'emplacement, dans un objet de destination “complexe”, auquel un objet a été (glissé et) déposé.
Généralement, vous utiliserez Position deposer pendant le traitement d'un événement glisser-déposer qui s'est produit dans une list box, une liste hiérarchique, un champ texte, une image ou une zone 4D Write Pro.
Si vous appelez Position deposer pendant le traitement d'un événement qui n'est pas de type glisser-déposer dans une list box, une combo box, une liste hiérarchique, un texte, une image ou une zone 4D Write Pro, la fonction retourne également -1.
Rappel : Pour qu'un objet de formulaire accepte des données déposées, la propriété Déposable doit lui avoir été assignée. De plus, sa méthode objet doit être appelée par l'événement Sur glisser et/ou Sur déposer si vous voulez pouvoir gérer ce type d'événement.
Dans l’exemple suivant, une liste de sommes doit être ventilée par mois et par personne. L’opération s’effectue par glisser-déposer entre deux list box :
La méthode objet de la list box de droite (source) contient le code suivant :
Si(Evenement formulaire code=Sur début glisser) // l'événement doit être coché pour la list box
C_BLOB($tomove)
C_TEXTE($val)
LISTBOX LIRE POSITION CELLULE(*;"LBPaid";$col;$row)
$val:=PaidCol{$row}
VARIABLE VERS BLOB($val;$tomove)
AJOUTER DONNEES AU CONTENEUR("mydrag";$tomove) //utilise une clé personnalisée
Fin de si
La méthode objet de la list box de gauche (destination) contient le code suivant :
Au cas ou
:(Evenement formulaire code=Sur glisser) //l'événement doit être coché pour la list box
C_BLOB($toGet)
C_ENTIER LONG($rownum)
$rownum:=Position deposer($colnum)
LIRE DONNEES CONTENEUR("mydrag";$toGet) //lire les données
Si(Tester conteneur("mydrag")>0)&($colnum#1)) //Si les données se trouvent dans le conteneur
$0:=0 //Le "déposer" est accepté
Sinon
$0:=-1 //Le "déposer" est refusé
Fin de si
:(Evenement formulaire code=Sur déposer) //l'événement doit être coché pour la list box
C_BLOB($toGet)
C_ENTIER LONG($rownum;$val)
$rownum:=Position deposer($colnum)
LIRE DONNEES CONTENEUR("mydrag";$toGet)
BLOB VERS VARIABLE($toGet;$val) //lire la valeur
Si(Tester conteneur("mydrag")>0))
Si($colnum=1)
BEEP
Sinon
Au cas ou //Ajouter des valeurs déposées
:($colnum=2)
John{$rownum}:=John{$rownum}+$val
:($colnum=3)
Mark{$rownum}:=Mark{$rownum}+$val
:($colnum=4)
Peter{$rownum}:=Peter{$rownum}+$val
Fin de cas
SUPPRIMER DANS TABLEAU(PaidCol;Chercher dans tableau(PaidCol;$val)) //Mettre à jour la list box source
Fin de si
Fin de si
Fin de cas
_o_PROPRIETES GLISSER DEPOSER
Présentation du Glisser-Déposer
Produit : 4D
Thème : Glisser-Déposer
Numéro :
608
Nom intl. : Drop position
Modifié : 4D v11 SQL
Modifié : 4D v12
4D - Langage ( 4D v20 R7)