ASP.NET 4.0 Chart control – XML file Binding
Posted by: Suprotim Agarwal
in Category ASP.NET
Abstract: The Microsoft Chart Controls for .NET Framework allows you create simple, feature rich and attractive 2D and 3D charts for web (ASP.NET) and windows applications (WinForms).
The Microsoft Chart Controls for .NET Framework allows you create simple, feature rich and attractive 2D and 3D charts for web (ASP.NET) and windows applications (WinForms). In this article, we will explore ASP.NET Chart Controls. The ASP.NET chart controls enables you to create visually compelling charts for web applications and supports almost all major 2D/3D chart series types. You can download the samples here to check them out.
The ASP.NET Chart control is a part of the .NET Framework 4.0 release. If you are using ASP.NET 4.0, the Chart control is included in the ToolBox and you can drag and drop the chart control from the Data Tab to use it.
If you are using .NET 3.5 SP1, the chart control has to be separately downloaded over here.
Let us get started:
Step 1: Create an ASP.NET 4.0 website and drag and drop a chart control and a Button control from the toolbox to the Default.aspx webpage. Set up the chart control to use Area3DStyle to implement 3D for all series in chart area, as shown below:
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:Button ID="btnBind" runat="server" Text="Bind Chart to XML"
<asp:Chart ID="chartBooks" runat="server" Width="700" Height="450"
<asp:Series Name="Series1" ChartArea="ChartArea1" ChartType="Column"
<asp:ChartArea Name="ChartArea1" Area3DStyle-Enable3D="true"
Step 2: We be plotting the chart based on the XML Data. I have used a sample books.xml available in the source code of this article. Here’s a sample structure of the XML file
Step 3: On the button click event, write the following code to populate the chart, with the data read from the XML File
protected void btnBind_Click(object sender, EventArgs e)
string dataPath = MapPath(".") + "\\books.xml";
DataSet ds = new DataSet();
DataTable dt = ds.Tables;
DataView dataView = new DataView(dt);
// Bind XML
chartBooks.Series.Points.DataBindXY(dataView, "title", dataView, "price");
VB.NET (Converted Code)
Protected Sub btnBind_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim dataPath As String = MapPath(".") & "\books.xml"
Dim ds As New DataSet()
Dim dt As DataTable = ds.Tables(0)
Dim dataView As New DataView(dt)
' Bind XML
chartBooks.Series(0).Points.DataBindXY(dataView, "title", dataView, "price")
In the code shown above, we are using the DataSet.ReadXML to read the XML data into a DataSet. We then create a DataView using the DataTable (obtained from the DataSet) and then use ‘DataBindXY’ to bind the X and Y values of the collection to the specified column of the DataView, in our case ‘title’ on the X-Axis and ‘price’ on the Y-Axis.
That’s it. The resultant output is as shown below:
The entire source code of this article can be downloaded over here
C# and .NET have been around for a very long time, but their constant growth means there’s always more to learn.
We at DotNetCurry are very excited to announce the pre-order of The Absolutely Awesome Book on C# and .NET. This is a concise technical eBook and will be available in PDF, ePub, and mobi.
Organized around concepts, this eBook aims to provide a concise, yet solid foundation in C# and .NET, covering C# 6.0, C# 7.0 and .NET Core. Use these concepts in your next .NET Project or to crack your next .NET Interview.
Click here to Pre-Order this eBook at a Discounted Price!