Google Charts API Using Database in ASP.Net
This
article introduces use of the Google Charts API with a database in
ASP.NET. Google has a jQuery API for chart and graph visuals. I have
explored a little more and used them with a SQL Server database data
and simply plunged chart data with jQuery into an aspx page and it
works.
Step1 : .aspx
<%@
Page Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default"
%>
<!DOCTYPE
html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
<title>Charts
Example</title>
</head>
<body>
<form
id="form1"
runat="server">
<div>
<script
type="text/javascript"
src="https://www.google.com/jsapi"></script>
<br
/>
<br
/>
<asp:Literal
ID="ltScripts"
runat="server"></asp:Literal>
<div
id="chart_div"
style="width:
660px; height: 400px;">
</div>
</div>
</form>
</body>
</html>
Step
2 : .aspx.cs
#region
" [ Using ] "
using
System;
using
System.Web.UI;
using
System.Data.SqlClient;
using
System.Data;
using
System.Configuration;
using
System.Text;
#endregion
public
partial
class
_Default
: System.Web.UI.Page
{
protected
void
Page_Load(object
sender, EventArgs
e)
{
if
(!Page.IsPostBack)
{
//
Bind Charts
BindChart();
}
}
private
void
BindChart()
{
DataTable
dsChartData = new
DataTable();
StringBuilder
strScript = new
StringBuilder();
try
{
dsChartData =
GetChartData();
strScript.Append(@"<script
type='text/javascript'>
google.load('visualization',
'1', {packages: ['corechart']});</script>
<script
type='text/javascript'>
function
drawVisualization() {
var data =
google.visualization.arrayToDataTable([
['Month', 'Bolivia',
'Ecuador', 'Madagascar', 'Average'],");
foreach
(DataRow
row in
dsChartData.Rows)
{
strScript.Append("['"
+ row["Month"]
+ "',"
+ row["Bolivia"]
+ ","
+
row["Ecuador"]
+ ","
+ row["Madagascar"]
+ ","
+ row["Avarage"]
+ "],");
}
strScript.Remove(strScript.Length
- 1, 1);
strScript.Append("]);");
strScript.Append("var
options = { title : 'Monthly Coffee Production by Country', vAxis:
{title: 'Cups'}, hAxis: {title: 'Month'}, seriesType: 'bars',
series: {3: {type: 'area'}} };");
strScript.Append("
var chart = new
google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(data, options); }
google.setOnLoadCallback(drawVisualization);");
strScript.Append("
</script>");
ltScripts.Text =
strScript.ToString();
}
catch
{
}
finally
{
dsChartData.Dispose();
}
}
}
Comments
Post a Comment