<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Ich versuche, ein Drag & Drop-Verhalten für zwei Listenfelder in JSL zu implementieren. Grundsätzlich versuche ich, das Drag-and-Drop-Verhalten zu replizieren, das bereits für colListBox-Objekte für normale Listboxen existiert, dh dass ein Benutzer auf ein beliebiges Element in einer Listbox klicken, klicken, es ziehen und in eine andere Listbox ziehen kann. Ich habe das gewünschte Verhalten für die Empfänger-Dropbox erfolgreich implementiert, aber ich habe Probleme mit der Quell-Dropbox. Grundsätzlich bin ich mir nicht sicher, wie ich das gewünschte Verhalten implementieren soll. Das nächste, was ich habe, ist, die Set-Klick-Funktion für das übergeordnete Mausfeld des Listenfelds deaktiviert zu lassen, das Ziehen zu aktivieren und den folgenden Code in die Funktionen << Set Drag Beginn und << Set Drag End zu setzen:
<< Set Drag Begin(
Function( {this, clickpt},
If( N Items( (this << child) << Get Selected ) == 0,
(this << child) << Set Selected(1);
0;
,//Else
test = ( (this << child) << Get Selected );
test[1];
);
);
);
und das
<< Set Drag End(
Function( {this, clickpt, how},
If( how == "move",
(this << child) << Remove Selected;
)
);
);
Dies bedeutet jedoch, dass einzelne Klicks nicht funktionieren, um ein Element im Listenfeld auszuwählen, ein Benutzer müsste doppelklicken, da sonst das erste Element ausgewählt wird. Das ist nicht ideal, aber es ist alles, was ich zum Laufen bringen konnte. Jede Hilfe oder Hinweise auf weitere Informationen zu diesem Thema wären sehr willkommen.
Eine zweite Anmerkung: Wenn ich gelegentlich etwas aus dem ersten Listenfeld ziehe, wird das gezogene Element manchmal nicht gelöscht. Dies passiert nur sehr zeitweise, aber ich habe keine Ahnung, warum es passiert oder wie ich es beheben kann. Vielen Dank.
Entschuldigung, dass ich nicht früher zurückgekommen bin. Ich wurde zu anderen Projekten gezogen und hatte eine Zeit lang keine Gelegenheit, JSL erneut zu besuchen. Das hat bei mir super funktioniert. Auch wirklich gute Kommentare. Ich frage mich nur, ob im Internet mehr Dokumentation zu MouseBox verfügbar ist? Ich hatte nicht viel Erfolg beim Aufspüren und würde gerne mehr Informationen über die Mechanik von MouseBox, Drop Commit usw. erhalten. Cheers!