Hello,
On the ToolTipManager AjaxUpdate event I'm trying to get the node from the treeview based on the attribute NodeID.But the treeview always shows just one node (root node) on the tree when it actually has 4 nodes totally.
I'm trying to display a userControl in a tooltip for a treeview control which is displayed for few nodes based on a condition, The tooltip should display textboxes with some attributes of the Node, I'm Using RadToolTipManager following the demo
<telerik:RadToolTipManager Width="215px" Skin="Sunset" Height="260px" |
RelativeTo="Element" AutoTooltipify="false" HideEvent="FromCode" ShowEvent="FromCode" ID="RadToolTipManager2" runat="server" OffsetX="15" Position="MiddleRight" |
OnAjaxUpdate="RadToolTipmanager1_AjaxUpdate"> |
</telerik:RadToolTipManager> |
I'm setting the value of the tooltip to the NodeID
function OnClientMouseOver(sender, args) { |
var nodeElem = args.get_node(); |
if (nodeElem.get_level() != 0) { |
var node = nodeElem.get_textElement(); |
var tooltipManager = $find("<%= RadToolTipManager2.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) { |
if (nodeElem.get_attributes().getAttribute("userdefined") == "yes") { |
tooltip = tooltipManager.createToolTip(node); |
tooltip.set_value(nodeElem.get_attributes().getAttribute("NodeID")); |
tooltip.show(); |
} |
} |
} |
} |
protected void RadToolTipmanager1_AjaxUpdate(object sender, ToolTipUpdateEventArgs e) |
{ |
ColumnDetails details = (ColumnDetails)this.LoadControl("ColumnDetails.ascx"); |
details.NodeID = e.Value; |
RadTreeNode oNode = rtvAssignSelectedTree.Nodes[0].Nodes.FindNodeByAttribute("NodeID", e.Value); |
details.rtvSelectedTree = rtvAssignSelectedTree; |
details.rttNodeToolTip = RadToolTipManager2; |
string Text = oNode.Text.Substring(0, oNode.Text.IndexOf('(')); |
string Length = oNode.Text.Substring(oNode.Text.IndexOf(','), oNode.Text.IndexOf(')') - oNode.Text.IndexOf(',')); |
((TextBox)details.FindControl("txtColumnName")).Text = Text; |
((TextBox)details.FindControl("txtLength")).Text = Length; |
e.UpdatePanel.ContentTemplateContainer.Controls.Add(details); |
} |
Can someone please help me figure what i'm doing wrong. oNode in the above event is always null, rtvAssignSelectedTree.Nodes[0].Nodes.Count is always 0.
Thank you,
Phani