This is a migrated thread and some comments may be shown as answers.

RadOrgChart w/Tooltip: Tooltip never pops up

0 Answers 108 Views
ToolTip
This is a migrated thread and some comments may be shown as answers.
Andres
Top achievements
Rank 1
Andres asked on 09 Dec 2016, 01:54 AM

Hi!

 

I'm in need of using the RadOrgChart for showing some data and the point of the Tooltip is to show details of the Item I'm hovering over.

I did a demo just to try and see how it would look with some basic data on a Table.

I used this Demo as a reference...pretty much, I just copied and pasted it and modified it to see how it would look and then I would start doing some changes on it.

My problem: I don't know if its what I'm thinking, that the OnAjaxUpdate is not getting triggered, or if I messed up somewhere else.

I've never tried this before, so I'm pretty new at this and a little help would be useful ^^

OrgChartNew.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OrgChartNew.aspx.cs" Inherits="RadOrgChart3.OrgChartNew" %>
 
<!DOCTYPE html>
 
<head runat="server">
    <title></title>
    <link href="css/styles.css" rel="stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
    <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" />
    <div class="demo-container size-wide no-bg">
        <div class="qsf-demo-canvas">
            <h2>
                <span>Test</span>
            </h2>
  
            <telerik:RadOrgChart RenderMode="Lightweight" ID="RadOrgChart1" runat="server" Skin="Default" DataSourceID="SqlDataSource1" EnableDrillDown="true"
                DataFieldID="hijo" DataFieldParentID="padre">
                <ItemTemplate>
                    <asp:Panel runat="server" ID="Panel1" CssClass="TemplateHolder">
                        <div class="rocCustomTextWrap">
                            <span>
                                <%# Eval("nombre")%>
                            </span>
                        </div>
                    </asp:Panel>
                </ItemTemplate>
            </telerik:RadOrgChart>
        </div>
  
    </div>
    <telerik:RadToolTipManager RenderMode="Lightweight" runat="server" ID="RadToolTipManager1" Skin="Default" OnAjaxUpdate="OnAjaxUpdate"
        Position="BottomRight" OffsetX="16" OffsetY="16" EnableShadow="false" Width="195" Height="135" />
  
    <asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>"
        SelectCommand="SELECT [hijo], [padre], [nombre], [edad], [color] FROM [PADREHIJOTABLETEST]"></asp:SqlDataSource>
  
    </form>
</body>
</html>

 

OrgChartNew.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
 
namespace RadOrgChart3
{
    public partial class OrgChartNew : System.Web.UI.Page
    {
        private bool isDrillDown = false;
 
        protected void Page_Load(object sender, EventArgs e)
        {
            RadOrgChart1.GroupItemDataBound += new Telerik.Web.UI.OrgChartGroupItemDataBoundEventHandler(RadOrgChart1_GroupItemDataBound);
            RadOrgChart1.DrillDown += RadOrgChart1_DrillDown;
        }
 
        void RadOrgChart1_DrillDown(object sender, OrgChartDrillDownEventArguments e)
        {
            isDrillDown = true;
        }
 
        void RadOrgChart1_GroupItemDataBound(object sender, Telerik.Web.UI.OrgChartGroupItemDataBoundEventArguments e)
        {
            var panel = (Panel)e.Item.FindControl("Panel1");
            RadToolTipManager1.TargetControls.Add(panel.ClientID, e.Item.Node.ID, true);
        }
 
        protected override void OnPreRenderComplete(EventArgs e)
        {
            base.OnPreRenderComplete(e);
 
            if (isDrillDown)
            {
                var nodes = RadOrgChart1.GetAllNodes();
 
                foreach (var node in nodes)
                {
                    var panel = (Panel)node.GroupItems[0].FindControl("Panel1");
                    RadToolTipManager1.TargetControls.Add(panel.ClientID, node.ID, true);
                }
            }
        }
 
        public void OnAjaxUpdate(object sender, ToolTipUpdateEventArgs e)
        {
            Control ctrl = Page.LoadControl("OrgChartUC.ascx");
            ctrl.ID = "OrgChartUC";
 
            e.UpdatePanel.ContentTemplateContainer.Controls.Add(ctrl);
            OrgChartUC details = (OrgChartUC)ctrl;
            details.Hijo = e.Value;
        }
 
    }
}

 

OrgChartUC.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="OrgChartUC.ascx.cs" Inherits="RadOrgChart3.OrgChartUC" %>
 
<asp:Repeater runat="server" ID="Repeater1">
    <ItemTemplate>
        <div class="rtCustomTemplate">
            <h3 class="title">
                <asp:Literal runat="server" ID="ltrEdad" Text='<%# Eval("edad")%>' />
            </h3>
            <p class="phone">
                <asp:Literal runat="server" ID="ltrColor" Text='<%# Eval("color")%>' />
            </p>
        </div>
    </ItemTemplate>
</asp:Repeater>
  
<asp:SqlDataSource ID="EmployeesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>"
    ProviderName="System.Data.SqlClient" SelectCommand="SELECT [edad], [color] FROM [PADREHIJOTABLETEST] WHERE hijo = @hijo">
    <SelectParameters>
        <asp:Parameter Name="hijo" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

 

OrgChart.ascx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace RadOrgChart3
{
    public partial class OrgChartUC : System.Web.UI.UserControl
    {
        public string Hijo { get; set; }
 
        protected void Page_Load(object sender, EventArgs e)
        {
            EmployeesDataSource.SelectParameters["hijo"].DefaultValue = Hijo;
            Repeater1.DataSource = EmployeesDataSource;
            Repeater1.DataBind();
        }
    }
}

 

Thanks for your help ^^!!!

No answers yet. Maybe you can help?

Tags
ToolTip
Asked by
Andres
Top achievements
Rank 1
Share this question
or