or
<script type="text/javascript"> var parenItemSelected = false; function OnClientNodeClicked(sender, args) { var currNode = args.get_item(); var childNodes = currNode.get_childItems(); var nodeCount = currNode.get_childItems().length; var parentItem = currNode.get_parentItem(); if (parentItem) { parenItemSelected = true; parentItem.set_selected(true); } if (currNode.get_selected()) { CheckAllChildren(childNodes, nodeCount); } else { UnCheckAllChildren(currNode, childNodes, nodeCount); } parenItemSelected = false; } function UnCheckAllChildren(currNode, nodes, nodecount) { var i; for (i = 0; i < nodecount; i++) { nodes[i].set_selected(false); } currNode.set_selected(false); } function CheckAllChildren(nodes, nodecount) { var i; if (!parenItemSelected) { for (i = 0; i < nodecount; i++) { nodes[i].set_selected(true); } } } </script>01.<telerik:RadTreeList ID="RadTreeList1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" ParentDataKeyNames="ParentId" CellSpacing="0" GridLines="None" OnNeedDataSource="RadTreeList1_NeedDataSource" HideExpandCollapseButtonIfNoChildren="true" AllowMultiItemSelection="true" OnPreRender="RadTreeList1_PreRender" OnItemCommand="RadTreeList1_ItemCommand" OnItemDataBound="RadTreeList1_ItemDataBound">02.<Columns>03.<telerik:TreeListBoundColumn DataField="id" HeaderText="access_id" UniqueName="access_id" DataType="System.decimal" ReadOnly="True" SortExpression="access_id" Display="false"></telerik:TreeListBoundColumn>04.<telerik:TreeListBoundColumn DataField="access_code" HeaderText="Access Right" UniqueName="role_access_access_id" ReadOnly="True" SortExpression="access_code"></telerik:TreeListBoundColumn>05.<telerik:TreeListBoundColumn DataField="ParentId" HeaderText="Parent ID" UniqueName="ParentId" ReadOnly="True" SortExpression="ParentId" Display="false"></telerik:TreeListBoundColumn>06.<telerik:TreeListSelectColumn UniqueName="SelectColumn" HeaderText="Select Menu" ></telerik:TreeListSelectColumn>07.</Columns>08. <ClientSettings AllowPostBackOnItemClick="true">09.<ClientEvents OnItemDeselected="OnClientNodeClicked" OnItemSelected="OnClientNodeClicked" />10.<Selecting AllowItemSelection="true" />11.</ClientSettings>12.</telerik:RadTreeList>1.Protected Sub RadTreeList1_NeedDataSource(sender As Object, e As TreeListNeedDataSourceEventArgs)2. Try3. Dim gvAccess = DirectCast(sender, RadTreeList)4. gvAccess.DataSource = GetAccessMenuView().ToList5. Catch ex As Exception6. InformationBox.DisplayError(ex)7. End Try8.End Sub
1.Protected Sub RadTreeList1_PreRender(sender As Object, e As EventArgs)2. Dim RadTreeList1 = DirectCast(sender, RadTreeList)3. If parentIndex IsNot Nothing Then4. Dim parent As TreeListDataItem = RadTreeList1.Items(CInt(parentIndex))5. RadTreeList1.ExpandItemToLevel(parent, parent.HierarchyIndex.NestedLevel + 1)6. End If7.End Sub


