Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

Fusion Charts Helper Class for ASP.NET 2.0 (C#)

4.56/5 (14 votes)
9 Feb 2009CPOL1 min read 103K   4.4K  
This helper class makes it easy to work with Fusion Charts.
FusionChartsHelper

Introduction

Fusion Charts help you to create animated and interactive Flash charts for web and desktop applications. You have to create the XML and pass it to the provided SWF files for each graph type. This helper class facilitates the process of creating the required XML and in the integration with the ASP.NET page.

Using the Code

The code lies in three files:

  1. Charts.cs

    This file contains FusionChartBase (abstract), FusionPieChart, FusionLineChart, and FusionChartUtility.

  2. DataSetHelper.cs

    This file is not related to Fusion Charts. It is a collection of useful code that I found here and there. You should check this out.

  3. Default.aspx

    The page contains two DIVs and a Button. Pie and line charts are loaded into the DIVs on the Button's Click event.

The classes are quite long, so I'm only including the button click code here:

C#
protected void btnShow_Click(object sender, EventArgs e)
{
    FusionPieChart pieChart = new FusionPieChart();
    pieChart.showNames = true;
    pieChart.showPercentageInLabel = true;
    pieChart.showPercentageValues = false;
    string chartHtml = pieChart.CreateSetElement(BuildData(), FusionPieChart.Pie3D, 
                       divPieChart.ClientID, "name", "value", 
                       "text", "id", "test.aspx?id=", true, 600, 400);
    divPieChart.InnerHtml = chartHtml;

    FusionLineChart lineChart = new FusionLineChart();
    //chartHtml = lineChart.CreateSetElememtForTrendChart(BuildData(), 
                  divLineChart.ClientID, "name", "value", 100, 100);
    chartHtml = lineChart.CreateSetElement(BuildData(), FusionLineChart.Line2D, 
                divLineChart.ClientID, false, "", "name", 
                "value", "text", "id", "", true, 600, 400);
    divLineChart.InnerHtml = chartHtml;
}

Points of Interest

I did not use Adobe Flex because it was taking too much time for me to develop graphs, and Fusion Charts offered me a quick solution, but it has a number of limitations. After creating all these classes, I had to switch back to Adobe Flex. I used the Fusion Charts XML passing approach with Adobe Flex, and life is beautiful. :-)

History

  • 9th February, 2009: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)