
<telerik:RadTreeView ID="TreeViewTest" runat="server" CheckBoxes="true" LoadingMessage="Loading..." LoadingStatusPosition="BelowNodeText" MultipleSelect="false" AllowNodeEditing="false" OnClientNodePopulated="ClientNodePopulated" OnClientNodeChecked="ClientNodeChecked"> <WebServiceSettings Path="TreeViewTest.aspx" Method="LoadTreeViewNodes" /></telerik:RadTreeView>
Hello,
Moving an ASP.Net project from RadControls for ASP.NET Q1 2009\NET2 to Telerik.Web.UI, Version=2011.1.413.40 I discovered that some properties do not exist for the RadTreeView.
1. BeforeClientToggle: I used this property in the old version to expand all children when the node was expanded:
<rad:RadTreeView ID="treeTest" runat="server" title="Test" BeforeClientToggle="ClickHandler" Width="100%" OnNodeCreated="treeTest_NodeCreated"> [...] <script language="javascript"> function ClickHandler(objStartNode) { var objChildren = objStartNode.Nodes; var intChildCnt = objChildren.length; if(intChildCnt == 0) return; for (var intNodeIdx = 0; intNodeIdx < intChildCnt; intNodeIdx++) { var objChildNode = objChildren[intNodeIdx]; objChildNode.Expand(); if(intChildCnt != 0) ClickHandler(objChildNode); } } </script> How should this behaviour be implemented in the new version of the control?
2. SkinsPath: When first working with RadTreeView, I downloaded the additional skins and used RoundBlue for rendering the grid:
protected void Page_Load(object sender, EventArgs e) { //... treeTest.SkinsPath = "~/App_Themes/Skins"; treeTest.Skin = "RoundBlue"; //... }This property is not available for this version of the control and the code does not compile.
What should I use to replace this property?
Thank you.

private void BindTreeToDirectory(string virtualPath, RadTreeNode parentNode) { string physicalPath = Server.MapPath(virtualPath); string[] directories = Directory.GetDirectories(physicalPath); foreach (string directory in directories) { RadTreeNode node = new RadTreeNode(Path.GetFileName(directory)); node.Value = virtualPath + "/" + Path.GetFileName(directory); node.ImageUrl = "~/TreeView/Img/Vista/folder.png"; node.ExpandMode = TreeNodeExpandMode.ServerSideCallBack; //if (node.Value == "/Customers/Maines Paper & Foodservice/Side Letters") if (node.Value == "/Customers/Maines Paper & Foodservice/Maintenance Provider AIM") { //var index = parentNode. // directories[8]; //var index = directories[7]; } else { parentNode.Nodes.Add(node); } //RadTreeNode nodeSideLetters = new RadTreeNode("/Customers/Maines Paper & Foodservice/Side Letters"); //parentNode.Nodes.Add(nodeSideLetters); }
[IndexOutOfRangeException: Cannot find column FILE_NAME.] System.Data.DataTable.ParseSortString(String sortString) +4826462 System.Data.DataView.CheckSort(String sort) +32 System.Data.DataView.set_Sort(String value) +128 Telerik.Web.UI.GridEnumerableFromDataView.PerformTransformation() +4873 Telerik.Web.UI.GridEnumerableFromDataView.TransformEnumerable() +41 Telerik.Web.UI.GridTableView.GetEnumerator(Boolean useDataSource, GridEnumerableBase resolvedDataSource, ArrayList dataKeysArray) +171 Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +356 Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +713 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +57 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +114 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +31 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142 Telerik.Web.UI.GridTableView.PerformSelect() +28 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73 Telerik.Web.UI.GridTableView.DataBind() +368 Telerik.Web.UI.GridSortCommandEventArgs.ExecuteCommand(Object source) +326 Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e) +191 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +61 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +165 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118 System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135 System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
I have a radgrid with two group-by-expressions defined, and aggregate sums defined on the bound columns. I want to hide the outer GridGroupFooterItem. My problem is similar to the one described in this other forum post.
http://www.telerik.com/community/forums/aspnet-ajax/grid/groupfooter-on-subgroup-only.aspx
I have a runtime reference to the GridGroupFooterItem in my ItemDataBound event handler. And I also know, from GroupIndex, whether a footer is the inner or outer one.
My problem is that I have not found a way to hide the GridGroupFooterItem, as was suggested by the response to that original post.
Can anyone assist?
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register TagPrefix="testlab" TagName="treeview" Src="~/FolderView.ascx" %><!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></title></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager id="RadScriptManager1" runat="server" /> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="pnlTreeView1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlTreeView1" /> <telerik:AjaxUpdatedControl ControlID="pnl1" LoadingPanelID="LoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="LoadingPanel1" runat="server" Skin="Windows7" /> <div> <table> <tr> <td valign="top"> <asp:Panel ID="pnlTreeView1" runat="server"> <testlab:treeview runat="server" id="treeview1" OnItemSelected="treeview1_ItemSelected"> </testlab:treeview> </asp:Panel> </td> <td valign="top"> <asp:Panel ID="pnl1" runat="server" Width="450" Height="450"> Select a node.<br /> <asp:Label ID="lbl1" runat="server" /> </asp:Panel> </td> </tr> </table> </div> </form></body></html>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void treeview1_ItemSelected(object sender, LAB_FolderView.ItemSelectedEventArgs e) { lbl1.Text += e.SeletedItemText + " clicked, category = " + e.StorageItemType + "<br/>"; }}FolderView.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FolderView.ascx.cs" Inherits="LAB_FolderView" %><telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server" /><div style="border:solid 1px black;"><telerik:RadTreeView ID="RadTreeView1" runat="server" OnNodeExpand="RadTreeView1_NodeExpand" OnNodeClick="RadTreeView1_NodeClick" Width="300" Height="300"> <Nodes> <telerik:RadTreeNode Value="FRUIT" Text="Fruit" Expanded="false" Category="FOLDER" ImageUrl="folder.gif" ExpandedImageUrl="FolderOpen.gif"> <Nodes> <telerik:RadTreeNode Value="ORANGE" Text="Orange" Category="ITEM"/> <telerik:RadTreeNode Value="BANANA" Text="Banana" Category="ITEM"/> <telerik:RadTreeNode Value="APPLE" Text="Apple" Category="ITEM"/> <telerik:RadTreeNode Value="TAMARILLO" Text="Tamarillo" Category="ITEM"/> </Nodes> </telerik:RadTreeNode> <telerik:RadTreeNode Value="VEGETABLE" Text="Vegetable" Expanded="false" Category="FOLDER" ImageUrl="folder.gif" ExpandedImageUrl="FolderOpen.gif"> <Nodes> <telerik:RadTreeNode Value="LETTUCE" Text="Lettuce" Category="ITEM"/> <telerik:RadTreeNode Value="POTATO" Text="Potato" Category="ITEM"/> <telerik:RadTreeNode Value="BROCCOLI" Text="Brocolli" Category="ITEM"/> <telerik:RadTreeNode Value="ONION" Text="Onion" Category="ITEM"/> </Nodes> </telerik:RadTreeNode> </Nodes></telerik:RadTreeView><div id="divDebug" runat="server" /></div>FolderView.ascx.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik;using Telerik.Web.UI;public partial class LAB_FolderView : System.Web.UI.UserControl{ #region Event Bubbling public enum StorageFolderItemType { FOLDER, ITEM } public class ItemSelectedEventArgs : EventArgs { public string SelectedItemsValue { get; set; } public string SeletedItemText { get; set; } public StorageFolderItemType StorageItemType { get; set; } } public class ItemDeletedEventArgs : EventArgs { public string SelectedItemsValue { get; set; } public string SeletedItemText { get; set; } public StorageFolderItemType StorageItemType { get; set; } } // Item Selected public delegate void ItemSelectedEventHandler(object sender, ItemSelectedEventArgs e); public event ItemSelectedEventHandler ItemSelected; protected virtual void OnItemSelected(RadTreeNodeEventArgs e) { ItemSelectedEventArgs args = new ItemSelectedEventArgs(); args.SelectedItemsValue = e.Node.Value; args.SeletedItemText = e.Node.Text; args.StorageItemType = e.Node.Category == "FOLDER" ? StorageFolderItemType.FOLDER : StorageFolderItemType.ITEM; ItemSelected(this, args); } #endregion protected void Page_Load(object sender, EventArgs e) { } protected void RadTreeView1_NodeClick(object sender, RadTreeNodeEventArgs e) { Debug(e.Node.Text + " clicked, category = " + e.Node.Category); if (e.Node.Category == "ITEM") { // LoadIDPDevelopmentNeedItem(Int32.Parse(e.Node.Value.TrimStart("I".ToCharArray())), VIEW_MODE.VIEW); OnItemSelected(e); } } protected void RadTreeView1_NodeExpand(object sender, RadTreeNodeEventArgs e) { Debug("NodeExpand called on " + e.Node.ID); } protected void Debug(object o) { divDebug.InnerHtml += o.ToString() + "<br/>"; }}