I am trying to implement load on demand on a tree. For some reason the NodeExpand event is firing twice duplicating the nodes.
Here is the ASPX code:
<%@ Page Language="VB" ValidateRequest="False" AutoEventWireup="true" CodeFile="layerProfiles.aspx.vb" Inherits="layerProfiles" %> |
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head runat="server"> |
<title>Layer Profiles</title> |
</head> |
<body> |
<form id="form1" runat="server"> |
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> |
<div style="width: 250px; float:left"> |
<telerik:RadTreeView ID="availableLayersTree" runat="server" OnNodeExpand="availableLayersTree_NodeExpand"> |
</telerik:RadTreeView> |
</div> |
<div style="width: 250px; float:left"> |
<telerik:RadTreeView ID="userTree" runat="server"> |
<CollapseAnimation Type="OutQuint" Duration="100" /> |
<ExpandAnimation Duration="100" /> |
</telerik:RadTreeView> |
</div> |
</form> |
</body> |
</html> |
and the VB code, modified just to test adding a single node:
Imports Telerik.Web.UI |
Partial Class layerProfiles |
Inherits System.Web.UI.Page |
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load |
If Not Page.IsPostBack Then |
'generateTree() |
loadRootNodes() |
End If |
End Sub |
Private Sub loadRootNodes() |
Dim oRootGroups As New GeoNet.LayerGroupsCollection |
oRootGroups.LoadGroups(False) |
Dim oGroup As GeoNet.LayerGroup |
Dim oParentNode As RadTreeNode |
For Each oGroup In oRootGroups |
If oGroup.ShowInLegend = "true" Then |
oParentNode = New RadTreeNode(oGroup.LegendLabel, oGroup.ID) |
oParentNode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack |
availableLayersTree.Nodes.Add(oParentNode) |
End If |
Next |
oParentNode = New RadTreeNode("New Layer Profile") |
userTree.Nodes.Add(oParentNode) |
End Sub |
Protected Sub availableLayersTree_NodeExpand(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles availableLayersTree.NodeExpand |
'Dim oAuxGroupsCollection As New GeoNet.LayerGroupsCollection |
'Dim oOriginatingGroup As New GeoNet.LayerGroup(e.Node.Value) |
'oOriginatingGroup.Children = oAuxGroupsCollection.BuildGroupTree(oOriginatingGroup) |
'If Not oOriginatingGroup.Children Is Nothing Then |
' Dim oChildGroup As GeoNet.LayerGroup |
' For Each oChildGroup In oOriginatingGroup.Children |
' If oChildGroup.ShowInLegend = "true" Then |
e.Node.Nodes.Add(New RadTreeNode("test", "100")) |
' End If |
' Next |
e.Node.Expanded = True |
e.Node.ExpandMode = TreeNodeExpandMode.ClientSide |
'End If |
End Sub |
End Class |
What setting am I missing?