The RadTreeView contains lectures which are placed under different categories. The
root nodes represent the categories. The users are allowed to drag the lectures,
drop them to the RadScheduler, and create appointments for them. All the information
needed for the appointments is stored in the nodes. The subject of an Appointment
is stores as a text of the node, the category is taken from the parent node and
the duration of the lecture is stored as a custom attribute in the TreeNode. The
lectures also contain information about the speakers, which is also stored as a
custom attribute for each node in the RadTreeView (see the code for more information).
For the implementation of this scenario, the OnClientDropping client-side
event of the TreeView is used. This method contains the DOM element of the area
where the node is dropped. When the DOM element is a TimeSlot of the RadScheduler,
an appointment in created by inserting it directly or by using the advanced form.
In addition to that, a ToolTip is activated when the user clicks on an appointment.
The implementation of the RadToolTip and its configuration according to the appointments'
information, is also done entirely by the client-side API of the RadToolTip.
This demo shows how you can easily create appointments in the RadScheduler
by dragging and dropping elements from an external control. You also have the option
to either directly create an appointment or create it by using the AdvancedInserForm.
Note that the root nodes of the RadTreeView can not be dragged and dropped.
This functionality is implemented using the client-side API of
the RadTreeView and the RadScheduler.