I want to give my end user the capability to drag data out of a container and into a different container.
As an example, I have a list of tasks in container A and I want to give the end user the ability to drag individual tasks from container A into containers B or C. I'd then update a database to reflect what container the task is in.
I used a different approach from drag and drop. Partly because of some touch screen PCs we have that don't really have a nice drag/drop feature or multi touch gestures.
I used tables and multiple selection option to give this feel. I select what rows that I want to move, then use some arrow buttons near the tables to move them to other 'containers'. I then use scripting in the background to update my databases accordingly.
There's currently no built-in components which allow for drag-and-drop. I too recommend you provide a way to select options and then use some sort of button-based interaction paradigm to use the selected options in some manner while removing them from pool 'A' and placing them in pool 'B' via scripting.
A Table would work when there are many options, but if you just expect a few to ever be selected at one time you could use a multi-select Dropdown.
Alternatively you could look at this Ignition exchange resource for inspiration DMC Drag and Drop Example. I could imagine also being able to get creative with some Perspective Messaging when clicking onto one container and releasing onto another container. But how the messaging could work depends greatly on how the views are configured.
The drag and drop in the exchange resource leverages the view canvas for this drag and drop behavior.
The table row drag and drop works very well out of the box, but I've managed to break it and I haven't figured out how it's breaking. If you use the pager and switch to page 2 it stops working. I see a similar phenomenon with my project. If the page loads with data (works great in the IDE, not so much in the browser) I can move rows. If the data changes in any way it breaks and stops working. I'm sure there's likely a simple fix, but I haven't been able to figure it out yet.