Dear Telerik,
I'm a web developer with RadControls for ASP.Net AJAX Q2 2008, and I have a trouble with RadComboBox.
It's here: my site is about mobile phone and laptop presenting and trading system with large of functions and data, so, we need to cache it. We use two methods of caching: Cache data in RAM and output cache with direction:
<%
@ OutputCache VaryByParam="*" %>
and radcontrols like RadCombobox, RadFormDecorator, ... can't display it style, so, it can't display properly.
Telerik, please help me to find the better way to solve this problem, it's very important.
You can view it here: http://thegioididong.com/dtdd/phone/default.aspx
Thanks,
Khanh

| 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> |