<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
Sto cercando di implementare un comportamento di trascinamento della selezione per due caselle di riepilogo in JSL. Fondamentalmente, sto cercando di replicare il comportamento di trascinamento della selezione che esiste già per gli oggetti colListBox per le normali caselle di riepilogo, ovvero che un utente può fare clic su qualsiasi elemento in una casella di riepilogo, fare clic, trascinarlo e rilasciarlo in un'altra casella di riepilogo. Ho implementato con successo il comportamento desiderato per la casella di riepilogo di ricezione, tuttavia, sto lottando con la casella di riepilogo di origine. Fondamentalmente, non sono sicuro di come implementare il comportamento che desidero. Il più vicino che ho è lasciare la funzione set click disabilitata per la casella del mouse genitore della casella di riepilogo, abilitare il trascinamento e inserire il seguente codice nelle funzioni << set drag begin e << set drag end :
<< 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];
);
);
);
e questo
<< Set Drag End(
Function( {this, clickpt, how},
If( how == "move",
(this << child) << Remove Selected;
)
);
);
Ma facendo ciò, significa che i singoli clic non funzionano per selezionare un elemento nella casella di riepilogo, un utente dovrebbe fare doppio clic, altrimenti verrà selezionato il primo elemento. Questo non è l'ideale, ma è tutto ciò che sono riuscito a far funzionare. Qualsiasi aiuto o suggerimento per ulteriori informazioni su questo sarebbe molto apprezzato.
In una seconda nota, occasionalmente quando trascino qualcosa dalla prima casella di riepilogo, a volte l'elemento che ho trascinato non viene eliminato. Questo accade solo in modo molto intermittente, ma non ho idea del motivo per cui sta accadendo o di come risolverlo. Grazie.
Mi scuso per non essere tornato prima. Sono stato attratto da altri progetti e non ho avuto la possibilità di rivisitare JSL per un po'. Questo ha funzionato alla grande per me. Commenti davvero buoni troppo. Mi chiedevo solo se c'è più documentazione su MouseBox disponibile sul web? Non ho avuto molto successo nel rintracciarlo e mi piacerebbe avere maggiori informazioni sui meccanismi di MouseBox, drop commit, ecc. Saluti!
Ho messo una sceneggiatura Qui