RadTreeView provides a number of client-side events that would allow you to
accomplish even the most complicated tasks.
You can attach to the RadTreeView's events by using either the server-side properties or the client-side API.
- Attaching event handlers via a server-side property
Each client-side event has a corresponding property, whose name is formed like OnClient[EventName].
You can set the property to the name of the function to be called when the event
occurs.
<telerik:RadTreeView ID="RadTreeView1" runat="server" OnClientNodeClicking="onNodeClicking" />
<script type="text/javascript">
function onNodeClicking(sender, args)
{
logEvent("OnClientNodeClicking: " + args.get_node().get_text());
}
</script>
- Using the client-side API to attach event handlers
Using the client-side API of RadTreeView allows you to attach multiple event handlers
to one event using the standard MS AJAX conventions.
<script type="text/javascript">
function onClickedHandler1()
{
alert("First handler called");
}
function onClickedHandler2()
{
alert("Second handler called");
}
function pageLoad()
{
var treeView = $find("<%=RadTreeView1.ClientID%>");
treeView.add_nodeClicking(onClickedHandler1);
treeView.add_nodeClicking(onClickedHandler2);
}
</script>
Another advantage of the client-side API is the possiblity of dynamically detaching
certain handlers. You can use the remove_nodeClicking method of the
treeview object.
<script type="text/javascript">
$find(<%=RadTreeView1.ClientID%>).remove_nodeClicking(onClickedHandler1);
</script>
- Cancelling an event
The events, whose names end in ing, can be cancelled. You can cancel
the event by using the set_cancel method of the event arguments
passed to the handler.
<script type="text/javascript">
function onClientNodeClicking(sender, eventArgs)
{
eventArgs.set_cancel(true);
}