Hi,
I am using RadToolTipManager and it appears when the user hovers the mouse on a treeview node but I am getting this error. Any Help would be greatly appreciated.
RadToolTipManager response error:
Exception=Sys.InvalidOperationException: Could not find UpdatePanel with ID 'dnn_RibbonBar.ascx_AddMod_UpdateAddModule'. If it is being updated dynamically then it must be inside another UpdatePanel.
I am using RadToolTipManager and it appears when the user hovers the mouse on a treeview node but I am getting this error. Any Help would be greatly appreciated.
RadToolTipManager response error:
Exception=Sys.InvalidOperationException: Could not find UpdatePanel with ID 'dnn_RibbonBar.ascx_AddMod_UpdateAddModule'. If it is being updated dynamically then it must be inside another UpdatePanel.
Protected Sub RadToolTipmanager_AjaxUpdate(ByVal sender As Object, ByVal e As ToolTipUpdateEventArgs) Dim roleName As String = e.Value Dim listOfUsersInToolTip As New RadListBox Dim label As New Label listOfUsersInToolTip.Width = 150 listOfUsersInToolTip.Height = 200 If IsUserRole(e.Value) Then Dim sql As String = "select UserId, TeamId from FF_UserTeamMapping where TeamId = (select ID from FF_Team where TeamName = '" & e.Value & "')" Dim dt As DataTable = DNNDB.Query(sql) 'Dim usersList As ArrayList = rc.GetUserRolesByRoleName(DNN.GetPMB(Me).PortalId, roleName) If dt IsNot Nothing And dt.Rows.Count <> 0 Then For Each row As DataRow In dt.Rows Dim nUserId As Integer = row("UserId") Dim userInfo As UserInfo = DotNetNuke.Entities.Users.UserController.GetUserById(DNN.GetPMB(Me).PortalId, nUserId) listOfUsersInToolTip.Items.Add(New RadListBoxItem(userInfo.Username, userInfo.UserID)) Next listOfUsersInToolTip.Sort = RadListBoxSort.Ascending listOfUsersInToolTip.SortItems() RadToolTipManager.Width = "150" RadToolTipManager.Height = "200" RadToolTipManager.Position = ToolTipPosition.TopRight listOfUsersInToolTip.BackColor = Color.DimGray listOfUsersInToolTip.ID = Guid.NewGuid().ToString() listOfUsersInToolTip.ID = Guid.NewGuid().ToString() e.UpdatePanel.ContentTemplateContainer.Controls.Add(listOfUsersInToolTip) End If Else For Each role As RadComboBoxItem In cmbRoleName.Items Dim userInfo As UserInfo = DotNetNuke.Entities.Users.UserController.GetUserByName(DNN.GetPMB(Me).PortalId, e.Value) Dim found = FindUserInTeam(role.Value, userInfo.UserID) If found Then label.Text = e.Value & " belongs to " & role.Text RadToolTipManager.Width = "160" RadToolTipManager.Height = "50" RadToolTipManager.BackColor = Color.DimGray listOfUsersInToolTip.BackColor = Color.DimGray listOfUsersInToolTip.ID = Guid.NewGuid().ToString() e.UpdatePanel.ContentTemplateContainer.Controls.Add(label) Exit For Else label.Text = e.Value & " doesn't belong to any team" RadToolTipManager.Width = "160" RadToolTipManager.Height = "50" RadToolTipManager.BackColor = Color.DimGray listOfUsersInToolTip.BackColor = Color.DimGray listOfUsersInToolTip.ID = Guid.NewGuid().ToString() e.UpdatePanel.ContentTemplateContainer.Controls.Add(label) End If Next End If<%@ Control Language="VB" AutoEventWireup="false" CodeFile="PS_UserJobMapping.ascx.vb" Inherits="PS_UserJobMapping" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register TagPrefix="Portal" Namespace="DotNetNuke.Security.Permissions.Controls" Assembly="DotNetNuke" %><link href="module.css" rel="stylesheet" type="text/css" /><telerik:RadCodeBlock runat="server" ID="RadCodeBlock1"> <script type="text/javascript"> //indicates whether the user is currently dragging a listbox item var listBoxDragInProgress = false; //indicates whether the user is currently dragging a tree node var treeViewDragInProgress = false; //select the hovered listbox item if the user is dragging a node function onListBoxMouseOver(sender, args) { if (treeViewDragInProgress) { args.get_item().select(); } } //select the hovered tree node if the user is dragging a listbox item function onTreeViewMouseOver(sender, args) { if (listBoxDragInProgress) { args.get_node().select(); } //////////////// radtooltip code for move over /////////////// var nodeElem = args.get_node(); if (nodeElem.get_level() != 0) { var node = nodeElem.get_textElement(); var tooltipManager = $find("<%= RadToolTipManager.ClientID%>"); //If the user hovers the image before the page has loaded, there is no manager created if (!tooltipManager) return; //Find the tooltip for this element if it has been created var tooltip = tooltipManager.getToolTipByElement(node); //Create a tooltip if no tooltip exists for such element if (!tooltip) { tooltip = tooltipManager.createToolTip(node); tooltip.set_value(nodeElem.get_text()); tooltip.show(); } } } //unselect the item if the user is dragging a node function onListBoxMouseOut(sender, args) { if (treeViewDragInProgress) { args.get_item().unselect(); } } //unselect the node if the user is dragging a listbox item function onTreeViewMouseOut(sender, args) { if (listBoxDragInProgress) { args.get_node().unselect(); } } //indicate that the user started dragging a listbox item function onListBoxDragStart(sender, args) { listBoxDragInProgress = true; } //indicate that the user started dragging a tree node function onTreeViewDragStart(sender, args) { treeViewDragInProgress = true; } //handle the drop of the listbox item function onListBoxDropping(sender, args) { //indicate that the user stopped dragging listBoxDragInProgress = false; document.body.style.cursor = ""; //restore the cursor to the default state document.body.style.cursor = ""; //get the html element on which the item is dropped var target = args.get_htmlElement(); //if dropped on the listbox itself return. if (isOverElement(target, "<%= lstUsers.ClientID %>")) { return; } //check if dropped on the treeview var target = isOverElement(target, "<%= tvUsersInJobStages.ClientID %>"); //if not cancel the dropping event so it does not postback if (!target) { args.set_cancel(true); return; } //the item was dropped on the treeview - set the htmlElement. //it can be later accessed via the HtmlElementID property of the RadListBox args.set_htmlElement(target); } //handle the drop of the tree node function onTreeViewDropping(sender, args) { //indicate that the user stopped dragging treeViewDragInProgress = false; //restore the cursor to the default state document.body.style.cursor = ""; //get the html element on which the node is dropped var target = args.get_htmlElement(); //if dropped on the treeview itself return. if (isOverElement(target, "<%= tvUsersInJobStages.ClientID %>")) { return; } //check if dropped on the listbox var target = isOverElement(target, "<%= lstUsers.ClientID %>"); //if not cancel the dropping event so it does not postback if (!target) { args.set_cancel(true); return; } //the node was dropped on the listbox - set the htmlElement. //it can be later accessed via the HtmlElementID property of the RadTreeNodeDragDropEventArgs args.set_htmlElement(target); } //chech if a given html element is a child of an element with the specified id function isOverElement(target, id) { while (target) { if (target.id == id) break; target = target.parentNode; } return target; } function checkDropTargets(target) { if (isOverElement(target, "<%= lstUsers.ClientID %>") || isOverElement(target, "<%= tvUsersInJobStages.ClientID %>")) { //if the mouse is over the treeview or listbox - set the cursor to default document.body.style.cursor = ""; } else { //else set the cursor to "no-drop" to indicate that dropping over this html element is not supported document.body.style.cursor = "no-drop"; } } //update the cursor if the user is dragging the item over supported drop target - listbox or treeview function onListBoxDragging(sender, args) { checkDropTargets(args.get_htmlElement()); } //update the cursor if the user is dragging the node over supported drop target - listbox or treeview function onTreeViewDragging(sender, args) { checkDropTargets(args.get_htmlElement()); } function CloseActiveToolTip() { var tooltip = Telerik.Web.UI.RadToolTip.getCurrent(); if (tooltip) tooltip.hide(); } </script></telerik:RadCodeBlock><fieldset id="fsMain" runat="server"> <legend class="fieldsetLegend" id="fslgndMain"> <asp:Label ID="lblUserJobMapping" runat="server" Text="Resource Management" /> </legend> <telerik:RadAjaxLoadingPanel ID="alpUserJobMapping" runat="server" Height="75px" MinDisplayTime="5" Width="75px"> <asp:Image ID="Image1" runat="server" AlternateText="Loading..." ImageUrl="~/Portals/0/Images/LoadingAjax.gif" /> </telerik:RadAjaxLoadingPanel> <telerik:RadAjaxPanel ID="rapUserJobMapping" RequestQueueSize="5" runat="server" Width="100%" EnableOutsideScripts="True" HorizontalAlign="NotSet" ScrollBars="None" LoadingPanelID="alpUserJobMapping"> <table id="sub1" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="30%"> <telerik:RadComboBox ID="cmbRoleName" EmptyMessage="- please select team -" runat="server" AutoCompleteSeparator="true" HighlightTemplatedItems="true" AllowCustomText="true"> <%-- <Items> <telerik:RadComboBoxItem Value="0" Text="-- Select All Users --"> </Items> --%> <ItemTemplate> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td> <asp:CheckBox runat="server" ID="chkRole" AutoPostBack="true" Text="" OnCheckedChanged="chkRole_OnCheckedChanged" /> </td> </tr> </table> </ItemTemplate> </telerik:RadComboBox> </td> <td width="20%"> </td> <td> </td> </tr> <%-- <tr> <td width="20%"> <asp:CheckBox runat="server" ID="chkAllPSUsers" Text="Select All PS Users" AutoPostBack="true" OnCheckedChanged="chkAllPSUsers_OnCheckedChanged" /> </td> </tr> --%> </table> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="30%"> <asp:Label ID="lblUser" runat="server" Text="Resources"></asp:Label> </td> <td width="20%"> </td> <td> <asp:Label ID="Label2" runat="server" Text="Stages"></asp:Label> </td> </tr> </table> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> <telerik:RadToolTipManager HideDelay="1" EnableViewState="false" RelativeTo="Element" ID="RadToolTipManager" runat="server" EnableShadow="true" OffsetX="15" HideEvent="LeaveToolTip" BackColor="#ffff66" Position="TopRight" OnAjaxUpdate="RadToolTipmanager_AjaxUpdate" Style="font-size: 18px; text-align: center; font-family: Arial;" RenderInPageRoot="true"> </telerik:RadToolTipManager> </td> </tr> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="20%"> <telerik:RadListBox runat="server" ID="lstUsers" Sort="Ascending" EnableDragAndDrop="True" skinn="Vista" Width="160px" AllowReorder="true" Height="200px" OnClientDropping="onListBoxDropping" OnClientDragStart="onListBoxDragStart" OnClientMouseOver="onListBoxMouseOver" BorderColor="#ffff66" BackColor="#ffff66" OnClientMouseOut="onListBoxMouseOut" OnClientDragging="onListBoxDragging" OnDropped="lstUsers_ItemDropped"> <ButtonSettings ShowReorder="false" /> </telerik:RadListBox> </td> <td width="20%"> <div style="height: 200px; overflow: auto; width: 100%;"> <telerik:RadTreeView runat="server" ID="tvUsersInJobStages" EnableDragAndDrop="True" OnClientMouseOver="onTreeViewMouseOver" OnClientMouseOut="onTreeViewMouseOut" OnClientNodeDragStart="onTreeViewDragStart" OnClientNodeDropping="onTreeViewDropping" OnNodeDrop="tvUsersInJobStages_NodeDrop" OnClientNodeDragging="onTreeViewDragging" OnContextMenuItemClick="tvUsersInJobStages_ContextMenuItemClick"> <ContextMenus> <telerik:RadTreeViewContextMenu runat="server" ID="HelpDeskMenu" ClickToOpen="True" Skin="Vista"> <Items> <telerik:RadMenuItem Text="Remove From Stage" Value="Remove"> </telerik:RadMenuItem> <telerik:RadMenuItem Text="Remove From All Stages" Value="Remove All"> </telerik:RadMenuItem> </Items> </telerik:RadTreeViewContextMenu> </ContextMenus> </telerik:RadTreeView> </div> </td> </tr> </table> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> <asp:Button ID="btnSave" runat="server" Text="Save" /> <asp:Button ID="btnCancel" runat="server" Text="Cancel" /> </td> </tr> </table> </telerik:RadAjaxPanel></fieldset>