Using FusionCharts with VB.NET (ASP.NET) > Basic Examples |
||||||||||||||||||||||||||
In this section we will build up simple charts using ASP.NET. We'll cover the following examples here:
Let's quickly see each of them. |
||||||||||||||||||||||||||
All code discussed here is present in Download Package > Code > VB_NET > BasicExample folder. | ||||||||||||||||||||||||||
Setting up the charts for use | ||||||||||||||||||||||||||
In our code, we've used the charts contained in Download Package > Code > VB_NET > FusionCharts folder. When you run your samples, you need to make sure that the SWF files are in proper location. | ||||||||||||||||||||||||||
Plotting a chart from data contained in Data.xml | ||||||||||||||||||||||||||
Let's now get to building our first example. In this example, we'll create a "Monthly Unit Sales" chart using dataURL method. For a start, we'll hard code our XML data in a physical XML document Data.xml and then utilize it in our chart contained in an ASP.NET Page (BasicChart.aspx). Let's first have a look at the XML Data document: |
||||||||||||||||||||||||||
<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' decimalPrecision='0' formatNumberScale='0'> <set name='Jan' value='462' color='AFD8F8' /> <set name='Feb' value='857' color='F6BD0F' /> <set name='Mar' value='671' color='8BBA00' /> <set name='Apr' value='494' color='FF8E46' /> <set name='May' value='761' color='008E8E' /> <set name='Jun' value='960' color='D64646' /> <set name='Jul' value='629' color='8E468E' /> <set name='Aug' value='622' color='588526' /> <set name='Sep' value='376' color='B3AA00' /> <set name='Oct' value='494' color='008ED6' /> <set name='Nov' value='761' color='9D080D' /> <set name='Dec' value='960' color='A186BE' /> </graph> |
||||||||||||||||||||||||||
This XML is stored as Data.xml in Data Folder under BasicExample folder. It basically contains the data to create a single series chart to show "Monthly Unit Sales". We'll plot this on a Column 3D Chart. Let's see how to do that. To plot a Chart that consumes this data, you need to include the HTML code to embed a Flash object and then provide the requisite parameters. To make things simpler for you, we've put all this functionality in InfoSoftGlobal.FusionCharts class inside the dll file FusionCharts.dll. This dll file is contained in Download Package > Code > VB_NET > bin. So, whenever you need to work with FusionCharts in ASP.NET, just use the defined functions in the InfoSoftGlobal.FusionCharts class and then you can work with FusionCharts very easily. Let's see it in example. BasicChart.aspx contains the following code to render the chart: |
||||||||||||||||||||||||||
<%@ Page Language="VB" %> <%@ Import Namespace="InfoSoftGlobal" %> <HTML> <HEAD> <TITLE> FusionCharts Free - Simple Column 3D Chart </TITLE> </HEAD> <BODY> <% 'Create the chart - Column 3D Chart with data from Data/Data.xml Response.Write(FusionCharts.RenderChartHTML("../FusionCharts/FCF_Column3D.swf", "Data/Data.xml", "", "myFirst", "600", "300", False)) %> </BODY> </HTML> |
||||||||||||||||||||||||||
Here, we're basically rendering the chart by RenderChartHtml() function. In this code, we've just used the FusionCharts class, which is contained within InfoSoftGlobal namepspace of the dll file, and called the RenderChartHTML method to return the pertinent HTML output for the chart. To use this function, you can pass the following parameters (in same order): | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
When you now run this page, you'll see a chart like the one below. If you do not see a chart like the one below, please follow the steps listed in Debugging your Charts > Basic Troubleshooting section of this documentation. |
||||||||||||||||||||||||||
So, you just saw how simple it is to create a chart using ASP.NET and FusionCharts. Let's now convert the above chart to use dataXML method. | ||||||||||||||||||||||||||
Changing the above chart into a single page chart using dataXML method | ||||||||||||||||||||||||||
To convert this chart to use dataXML method, we create another page BasicDataXML.aspx in the same folder with following code: | ||||||||||||||||||||||||||
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="BasicDataXML.aspx.vb" Inherits="BasicExample_BasicDataXML" %> |
||||||||||||||||||||||||||
In the design page we have added an ASP literal server control which acts as a FusionCharts container. The code-behind page i.e., BasicDataXML.aspx.vb contains the following code: | ||||||||||||||||||||||||||
Imports InfoSoftGlobal Partial Class BasicExample_BasicDataXML Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'This page demonstrates the ease of generating charts using FusionCharts. 'Ideally, you would generate XML data documents at run-time, after interfacing with 'Create an XML data document in a string variable Dim strXML As String 'Create the chart - Column 3D Chart with data from strXML variable using dataXML method End Function |
||||||||||||||||||||||||||
Here,
When you see this chart, you'll get the same results as before. |
||||||||||||||||||||||||||
Using FusionCharts JavaScript class to embed the chart. | ||||||||||||||||||||||||||
If you see the charts from previous examples in the latest versions of Internet Explorer, you'll see a screen as below: | ||||||||||||||||||||||||||
Internet Explorer asks you to "Click and activate..." to use the chart. This is happening because of a technical issue on behalf of Microsoft. As such, all Flash movies need to be clicked once before you can start interacting with them. However, the good news is that there's a solution to it. This thing happens only when you directly embed the HTML code of the chart. It would NOT happen when you use JavaScript to embed the chart. To see how to embed using JavaScript at code level, please see Creating Your First Chart > JavaScript Embedding Section. In the design page we have added an ASP literal server control which acts as a FusionCharts container. Along with that we have attached an ASP.NET Page_Load event listener which helps you wrap this JavaScript function in ASP.NET function, so that you don't have to get your hands dirty with JavaScript, Flash and HTML. This function is contained in the previously used InfoSoftGlobal.FusionCharts class. Let's now quickly put up a sample to show the use of this function. We create
another ASP.NET page SimpleChart.aspx to use this function to plot a chart from data contained in our previously
created Data.xml file. Like before, SimpleChart.aspx contains the following code: |
||||||||||||||||||||||||||
<%@ Page Language="VB" %> <script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||||||||||||||||||||||||
In the above code, we've:
|
||||||||||||||||||||||||||
RenderChart() method is contained in InfoSoftGlobal.FusionCharts class; it returns the HTML code for the chart (using JavaScript embedding). Since we're using a physical Data.xml file here, we've used the dataURL method to provide the path of the file. The RenderChart() method takes in the following parameters: |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
When you now view the chart, you'll see that no activation is required even in Internet Explorer. | ||||||||||||||||||||||||||