That's enough easy to modify the existing example to suit these needs.
If we understand your task right, you need to grab one row (tree node) and drag it with all nested rows.
Before the rows are dragged, you just need to select all rows you should drag.
You can know what rows should be selected using the RowLastNested property for the top-level dragged node.
*****
The most interesting issue is whether the dragged tree node can be dropped at a new place (whether the tree nodes can change their hierarchy), but you should decide that depending on the logic of your app. In any case, if you have any troubles with implementing your solution, you are welcome to contact our tech support!