You are viewing documentation for an older version. For current documentation - click here.

FusionCharts XT can be easily and extensively used to create drilldown charts. All the charts (except for Zoom line chart) in FusionCharts XT suite support drilldown for data elements that is, in each chart type, the data plot of that chart (columns in Column Charts, Pie slices in Pie Charts etc.) can act as hot-spots for the chart. Using the drilldown functionality provided by FusionCharts XT, you can easily produce charts that enact "drilldown" or "zoom in (data)" capabilities. Moreover, you can make the whole chart as a hot-spot for drilldown.

Broadly, drilldown feature can be divided into two types:

  1. Simple links : Drill down to open simple URLs or call JavaScript functions (present on same page)
  2. Chart links (LinkedCharts): Drill down to detailed LinkedCharts

Using FusionCharts XT, you can create endless levels of drilldown. It has been kept very generic to accommodate all types of requirements.

Using Simple links In FusionCharts XT, you can define the following types of links:

We will progressively see each type of drilldown in this page and in the pages that follow. Moreover, later in this section, we will learn how Chart links (LinkedCharts) work.

Defining links for a Chart

To define a simple link for any dataplot, just define the link attribute for the <set> element as under:
<set ... value='2235' ... link='ShowDetails.asp%3FMonth%3DJan' ...>

With the above XML, the dataplot (be it column, pie or line/area anchor), when clicked, will take to the page ShowDetails.asp?Month=Jan, which might contain another chart to show detailed results for the month of January.

As you will note, the above link has been URL Encoded. FusionCharts XT accepts all the links in URL Encoded format, if you have special characters (like ?,&, etc.) in your link. When the user clicks on the link, FusionCharts XT decodes it and invokes ShowDetails.asp?Month=Jan.

All the Server-side scripting languages provide a generic function to URL Encode any string - like in ASP and ASP.NET, we have Server.URLEncode(strURL) and so on.

XML Example:
<chart caption='Monthly Sales Summary' 
      subcaption='For the year 2006' xAxisName='Month' yAxisName='Sales' numberPrefix='$'> 
          <set label='Jan' value='17400' link='DemoLinkPages/DemoLink1.html'/> 
          <set label='Feb' value='19800' link='DemoLinkPages/DemoLink2.html'/> 
          <set label='Mar' value='21800' link='DemoLinkPages/DemoLink3.html'/> 
          <set label='Apr' value='23800' link='DemoLinkPages/DemoLink4.html'/> 
          <set label='May' value='29600' link='DemoLinkPages/DemoLink5.html'/> 
          <set label='Jun' value='27600' link='DemoLinkPages/DemoLink6.html'/> 

See it live!

Opening links in new window

Quite often, you might want to open the drilldown link in a new window instead of the same window. To have a link open in a new window, all you need to do is, add n- before any link.

For example,

<set ... value='2235' ... link='n-ShowDetails.asp%3FMonth%3DJan' ...>

The above link, when clicked, will open in a new window.

Example XML:

<chart caption='Monthly Sales Summary' 
      subcaption='For the year 2006' xAxisName='Month' yAxisName='Sales' numberPrefix='$'>
          <set label='Jan' value='17400' link='n-DemoLinkPages/DemoLink1.html'/>
          <set label='Feb' value='19800' link='n-DemoLinkPages/DemoLink2.html'/>
          <set label='Mar' value='21800' link='n-DemoLinkPages/DemoLink3.html'/>
          <set label='Apr' value='23800' link='n-DemoLinkPages/DemoLink4.html'/>
          <set label='May' value='29600' link='n-DemoLinkPages/DemoLink5.html'/>
          <set label='Jun' value='27600' link='n-DemoLinkPages/DemoLink6.html'/>

See it live!

Note: Internally the chart decodes a URL that you set as link. Before invoking the link it again encodes the URL. If you are passing multilingual characters via a URL or do not want this decode-encode mechanism to be handled by chart, you can set unescapeLinks='0' in <chart> element of the chart's XML data. If you are using JSON data, you need to use { "chart" : { "unescapeLinks" : "0" ... } ... } .