Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
Version Q2 2011 released 07/12/2011
select

ToolTip / Image Gallery

Customer picture
Customer picture
Customer picture
Customer picture
Customer picture
Customer picture

  • Image Gallery


    This example demonstrates how to organize an image gallery by using the RadToolTipManager control. The full size image is loaded in a tooltip and it has to be shown centered on the screen. However, when  each tooltip's content is with different size, the tooltip initially shows centered but after that it resizes itself according to the content's size and does not stay at the center.

    You can avoid this side effect by cancelling the tooltip's show and then dynamically set its content before showing it again:

     var currentTooltip = null; function OnClientBeforeShow(sender, args)
    {

                     //Hide the currently visible tooltip

                      if (currentTooltip)
                     {
                           if (currentTooltip != sender) currentTooltip.hide();
                           return;
                      }

                    currentTooltip = sender; args.set_cancel(true);
    }

    function centerTooltip(img)
    {
                    if (currentTooltip)
                   {
                         currentTooltip.set_contentElement(img);
                
                          //use the method updateLocation because it does not call WebService's method which loads the content 
                          currentTooltip.updateLocation();
                          currentTooltip = null;
                     }
    }

    The full size image is taken by using a WebService which WebMethod returns an image which executes the centerToolTip function when loaded:

     [WebMethod]
    .......................................

    Image img = new Image();
    img.ImageUrl = String.Format("~/Tooltip/Img/Northwind/Flowers/{0}.jpg", imageID);
    img.Attributes["onload"] = "centerTooltip(this);this.onload = null;";

    ........................................ 

     

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" Inherits="Telerik.Web.Examples.ToolTip.ImageGallery.DefaultCS" %>

    <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>
    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <qsf:HeadTag ID="Headtag1" runat="server" />
        <link rel="Stylesheet" href="StyleSheet.css" />
        <style type="text/css">
            .title
            {
                display: block;
                font-weight: bold;
                text-decoration: underline;
                margin-top: 4px;
            }
            .info
            {
                color: black;
            }
        </style>
    </head>
    <body class="BODY">
        <form id="Form1" method="post" runat="server">
        <qsf:Header ID="Header1" runat="server" NavigationLanguage="c#" />
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        </telerik:RadScriptManager>

        <script type="text/javascript">
            var currentTooltip = null;

            function OnClientBeforeShow(sender, args) {
                //Hide the currently visible tooltip
                if (currentTooltip) {
                    if (currentTooltip != sender) currentTooltip.hide();
                    return;
                }

                currentTooltip = sender;
                args.set_cancel(true);
            }

            function centerTooltip(img) {
                if (currentTooltip) {
                    currentTooltip.set_contentElement(img);

                    //use the method updateLocation because it does not call WebService's method which loads the content
                    currentTooltip.updateLocation();
                    currentTooltip = null;
                }
            }
        </script>

        <telerik:RadToolTipManager ID="RadToolTipManager1" runat="server" Position="center"
            RelativeTo="BrowserWindow" OnClientBeforeShow="OnClientBeforeShow" EnableShadow="true">
            <WebServiceSettings Method="GetFullSizeImage" Path="ToolTipWebService.asmx" />
        </telerik:RadToolTipManager>
        <div class="wrapper">
            <asp:Repeater runat="server" ID="itemsRepeater" OnItemDataBound="ItemsRepeater_ItemDataBound">
                <ItemTemplate>
                    <div class="imageFrame">
                        <asp:Image runat="server" ID="Image" ImageUrl='<%# String.Format("~/Tooltip/Img/Flowers/Thumbs/{0}.jpg", Container.DataItem) %>'
                            Style="border: solid 1px #e3d7c0;" AlternateText="Customer picture" />
                    </div>
                </ItemTemplate>
            </asp:Repeater>
        </div>
        <qsf:Footer runat="server" ID="Footer1" />
        </form>
    </body>
    </html>

Get more than expected!

 
 

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2024 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451