or

| protected void rgFiles_ItemDataBound(object sender, GridItemEventArgs e) | |
| { | |
| if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem ) | |
| { | |
| Telerik.Web.UI.GridHyperLinkColumn ghlc = (Telerik.Web.UI.GridHyperLinkColumn) e.Item.OwnerTableView.Columns[0]; | |
| System.IO.FileInfo fi = (System.IO.FileInfo)e.Item.DataItem; | |
| string s = Server.MapPath("~/upload"); | |
| ghlc.NavigateUrl = "~/upload"+fi.DirectoryName.Replace(Server.MapPath("~/upload"),"")+"/"+fi.Name; | |
| } | |
| } |
I need to change the branch or whole tree icons when I select an option from the menu.
On OnClientContextMenuItemClicked I call the recusive function for changing the icons
My problem is that only for the leaf nodes the icons are changed .
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestTreeView.Default" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %> |
| <!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>Untitled Page</title> |
| </head> |
| <script type="text/javascript"> |
| function SetImageUrl(node, imageUrl) |
| { |
| node.set_imageUrl(imageUrl); |
| node.set_selectedImageUrl(imageUrl); |
| for (var i = 0; i < node.get_nodes().get_count(); i++) |
| { |
| SetImageUrl(node.get_nodes().getNode(i), imageUrl); |
| } |
| } |
| function OnClientContextMenuItemClicked(sender, args) |
| { |
| var menuItem = args.get_menuItem(); |
| var node = args.get_node(); |
| sender.trackChanges(); |
| switch(menuItem.get_value()) |
| { |
| case "FullCategory": |
| SetImageUrl(node, "../Images/circle_red.png"); |
| break; |
| case "PartialCategory": |
| SetImageUrl(node, "../Images/circle_green.png"); |
| break; |
| case "RemoveCategory": |
| SetImageUrl(node, "../Images/Folder.gif"); |
| } |
| sender.commitChanges(); |
| } |
| </script> |
| <body> |
| <form id="form1" runat="server"> |
| <div> |
| <asp:ScriptManager ID="scriptManager1" runat="server" /> |
| <telerik:RadTreeView id="t" runat="server" Height="470px" Visible = "true" |
| OnClientContextMenuItemClicked = "OnClientContextMenuItemClicked" > |
| <ContextMenus> |
| <telerik:RadTreeViewContextMenu ID="AppRoleMenu" ClickToOpen="True" runat="server" > |
| <Items> |
| <telerik:RadMenuItem Text="Full Category" Value="FullCategory"></telerik:RadMenuItem> |
| <telerik:RadMenuItem Text="Partial Category" Value="PartialCategory"></telerik:RadMenuItem> |
| <telerik:RadMenuItem Text="Remove Category" Value="RemoveCategory"></telerik:RadMenuItem> |
| </Items> |
| </telerik:RadTreeViewContextMenu> |
| </ContextMenus> |
| </telerik:RadTreeView> |
| </div> |
| </form> |
| </body> |
| </html> |
| the code behind : |
| using Telerik.Web.UI; |
| using Telerik.QuickStart; |
| namespace TestTreeView |
| { |
| public partial class Default : System.Web.UI.Page |
| { |
| string ImageUrl = "../Images/Folder.gif"; |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| LoadTree(); |
| } |
| protected void LoadTree() |
| { |
| string[] arr1 = new string[]{"node1.1","node1.2","node1.3", "node1.4"}; |
| string[] arr2 = new string[]{"node2.1","node2.2","node2.3", "node2.4"}; |
| string[] arr3 = new string[]{"node3.1","node3.2","node3.3", "node3.4"}; |
| RadTreeNode root = new RadTreeNode("root", "0"); |
| root.ImageUrl = ImageUrl; |
| t.Nodes.Add(root); |
| root.Nodes.Add(CreateNodes("node1", arr1)); |
| root.Nodes.Add(CreateNodes("node2", arr2)); |
| root.Nodes.Add(CreateNodes("node3", arr3)); |
| t.ExpandAllNodes(); |
| } |
| protected RadTreeNode CreateNodes(string parentName, string[] arr) |
| { |
| RadTreeNode parentNode = new RadTreeNode(parentName); |
| parentNode.ImageUrl = ImageUrl; |
| foreach (string name in arr) |
| { |
| RadTreeNode node = new RadTreeNode(name); |
| node.ImageUrl = ImageUrl; |
| parentNode.Nodes.Add(node); |
| } |
| return parentNode; |
| } |
| } |
| } |


| <AppointmentTemplate> |
| <div style="overflow:auto;height:20px;"> |
| <%# Eval("Subject") %> |
| <br /> |
| <asp:Label id="label1" runat="server" Text="Label"></asp:Label> |
| <br /> |
| <asp:Label id="label2" runat="server" Text="Label"></asp:Label> |
| </div> |
| </AppointmentTemplate> |
<
table cellpadding="1" cellspacing="1" dir="<%$Resources :Resource,TableDir%>" runat="server" id="Table1" width="350">