PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Drag and Drop automatique : recherche d'exemple "sur moi même"
Drag and Drop automatique : recherche d'exemple "sur moi même"
Débuté par Zoltar, 23 avr. 2021 10:48 - 7 réponses
Membre enregistré
7 messages
Posté le 23 avril 2021 - 10:48
Bonjour,

Je souhaite utiliser les possibilités de Drag and Drop automatique dans un champ arbre qui affiche une table.
Le but est de déplacer les enregistrements dans ce même arbre.

J'ai donc déclaré le champs dans la partie "détail" en source et en cible.
Mais le déplacement ne semble pas possible au sein du champ... il ne fonctionne que lorsque j'en sort...

La doc Pcsoft à ce sujet n'est pas vraiment claire et n'aborde pas cet usage qui me semble pourtant très utile : https://doc.pcsoft.fr/?3030012

Je cherche donc des exemples de drag and drop automatique dans un arbre...

Des idées ? Me faut il obligatoirement utiliser le drag and drop programmé... ou attendre une version 27 (pour le cas ou PC Soft lirait ce message...;) )

Merci par avance de votre aide !
Membre enregistré
3 845 messages
Popularité : +227 (347 votes)
Posté le 23 avril 2021 - 11:56
Bonjour,
J'ai testé avec un arbre "mémoire", je n'ai pas eu de problèmes.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
7 messages
Posté le 23 avril 2021 - 13:44
Cela ne fonctionnerai donc uniquement sur des arbres non reliés à une table ?? :(
Membre enregistré
3 845 messages
Popularité : +227 (347 votes)
Posté le 23 avril 2021 - 14:04
Cela me paraît logique, il faut "réaffecter" le "parent" au nœud déplacé

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
3 845 messages
Popularité : +227 (347 votes)
Posté le 23 avril 2021 - 14:07
Cela provient peut être aussi de la contrainte d'intégrité.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
7 messages
Posté le 26 avril 2021 - 17:48
Merci de la piste Voroltinquo !

J'ai donc déclaré mon arbre en mode "Remplissage par programmation" :
je parcours ma table et en je remplis l'arbre en plaçant un ArbreAjoute dans ma boucle.
Ça marche plutôt bien : mon arbre est plein, et le drag and drop fonctionne bien à l’intérieur de l'arbre pour déplacer des éléments... en tout cas visuellement.

Mais comment effectuer les modifications dans ma table après les déplacement d'enregistrement dans mon arbre ?
J'imagine que je dois placer du code dans les sections "Début du Glisser" et "Laché en Glisser"... mais je ne trouve pas les commande me permettant de retrouver l'enregistrement à modifier...

Si vous avez des exemples connus de ce type de manip... je suis preneur ! Merci !!!
Membre enregistré
70 messages
Popularité : +8 (8 votes)
Posté le 27 avril 2021 - 10:24
Bonjour,

Pour récupérer la ligne que tu as déplacer, c'est la ligne sélectionnée.
Pour récupérer la ligne où tu l'as lâcher, il faut faire utiliser le tableinfoxy.

Dans l'évènement dndLacher : DnDEvénement(ProcLâcher,TABLE_Planning,dndLâcher)
nLigDeplac, nLigSurvol est un entier
nLigDeplac=TableSelect(TABLE_Planning)
nLigSurvol =TableInfoXY(TABLE_Planning, tiNumLigne, _DND.SourisPosX, _DND.SourisPosY)
Membre enregistré
7 messages
Posté le 27 avril 2021 - 13:12
Laurent T a écrit :
> Pour récupérer la ligne que tu as déplacer, c'est la ligne sélectionnée.

Oui, mais à partir de là comment récupérer le numéro d'enregistrement de ma table pour le modifier en fonction de son déplacement ?