Introduction
You can use Google Charts into your project to beautify the reports and charts in your dashboard. There are a lot of other ways too but Google Charts is a good option and it is very easy to implement. So, I want to share with my community.
Step 1
First of all, you need to make a project of ASP.NET Web Forms type in Visual Studio.
Step 2
Then, make a web form and apply the following code for server-side.
- <%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="DashBoard.aspx.cs" Inherits="SDT.DashBoard" %>
- <%@ MasterType VirtualPath="~/Site1.Master" %> < asp: Content ID = "Content2"
- ContentPlaceHolderID = "Head"
- runat = "server" >
- < script type = "text/javascript"
- src = "https://www.google.com/jsapi" >
- < /script>
- < script >
- var PiechartDataClient;
- var PiechartDataVendor;
- var ColoumnChartDataClient;
- var ColoumnChartDataVendor; // globar variable for hold chart data
- google.load("visualization", "1", {
- packages: ["corechart"]
- });
- // Here We will fill chartData
- $(document).ready(function() {
- // Client Pie Chart
- $.ajax({
- url: "DashBoard.aspx/GetPieChartData_Client",
- data: "",
- dataType: "json",
- type: "POST",
- contentType: "application/json; chartset=utf-8",
- success: function(data) {
- PiechartDataClient = data.d;
- },
- error: function() {
- //alert("Error loading data! Please try again.");
- }
- }).done(function() {
- // after complete loading data
- google.setOnLoadCallback(drawPieChartClient);
- drawPieChartClient();
- });
- //Vendor Pie Chart
- $.ajax({
- url: "DashBoard.aspx/GetPieChartData_Vendor",
- data: "",
- dataType: "json",
- type: "POST",
- contentType: "application/json; chartset=utf-8",
- success: function(data) {
- PiechartDataVendor = data.d;
- },
- error: function() {
- //alert("Error loading data! Please try again.");
- }
- }).done(function() {
- // after complete loading data
- google.setOnLoadCallback(drawPieChartVendor);
- drawPieChartVendor();
- });
- // Client Coloumn Chart
- $.ajax({
- url: "DashBoard.aspx/GetColoumnChartData_Client",
- data: "",
- dataType: "json",
- type: "POST",
- contentType: "application/json; chartset=utf-8",
- success: function(data) {
- ColoumnChartDataClient = data.d;
- },
- error: function() {
- //alert("Error loading data! Please try again.");
- }
- }).done(function() {
- // after complete loading data
- google.setOnLoadCallback(drawColoumnChartClient);
- drawColoumnChartClient();
- });
- // Vendor Coloumn Chart
- $.ajax({
- url: "DashBoard.aspx/GetColoumnChartData_Vendor",
- data: "",
- dataType: "json",
- type: "POST",
- contentType: "application/json; chartset=utf-8",
- success: function(data) {
- ColoumnChartDataVendor = data.d;
- },
- error: function() {
- // alert("Error loading data! Please try again.");
- }
- }).done(function() {
- // after complete loading data
- google.setOnLoadCallback(drawColoumnChartVendor);
- drawColoumnChartVendor();
- });
- });
- //on Change of Date Range
- function drawPieChartClient() {
- var data = google.visualization.arrayToDataTable(PiechartDataClient);
- var options = {
- title: "Client Data",
- pieHole: 0.2,
- pointSize: 5
- };
- //var barChart = new google.visualization.BarChart(document.getElementById('Div1'));
- //barChart.draw(data, options);
- //var columnChart = new google.visualization.ColumnChart(document.getElementById('Div1'));
- //columnChart.draw(data, options);
- var pieChart = new google.visualization.PieChart(document.getElementById('chart_div'));
- pieChart.draw(data, options);
- }
- function drawPieChartVendor() {
- var data = google.visualization.arrayToDataTable(PiechartDataVendor);
- var options = {
- title: "Vendor Data",
- pieHole: 0.2,
- pointSize: 5
- };
- //var barChart = new google.visualization.BarChart(document.getElementById('Div1'));
- //barChart.draw(data, options);
- //var columnChart = new google.visualization.ColumnChart(document.getElementById('Div1'));
- //columnChart.draw(data, options);
- var pieChart = new google.visualization.PieChart(document.getElementById('ChartVendor'));
- pieChart.draw(data, options);
- }
- function drawColoumnChartClient() {
- var data = google.visualization.arrayToDataTable(ColoumnChartDataClient);
- var options = {
- vAxis: {
- gridlines: {
- count: 10
- },
- title: 'Rating (scale of 0-10)'
- },
- bar: {
- groupWidth: '60%'
- },
- hAxis: {
- title: 'Job No',
- },
- title: "Client Job Wise Summary Report",
- pointSize: 5
- };
- //
- //
- //var barChart = new google.visualization.BarChart(document.getElementById('Div1'));
- //barChart.draw(data, options);
- var columnChart = new google.visualization.ColumnChart(document.getElementById('Div1'));
- columnChart.draw(data, options);
- //var pieChart = new google.visualization.PieChart(document.getElementById('chart_div'));
- //pieChart.draw(data, options);
- }
- function drawColoumnChartVendor() {
- var data = google.visualization.arrayToDataTable(ColoumnChartDataVendor);
- var options = {
- vAxis: {
- gridlines: {
- count: 10
- },
- title: 'Rating (scale of 0-10)'
- },
- bar: {
- groupWidth: '60%'
- },
- hAxis: {
- title: 'Job No',
- },
- title: "Vendor Job Wise Summary Report",
- pointSize: 5
- };
- //var barChart = new google.visualization.BarChart(document.getElementById('ColoumnChartVendor'));
- //barChart.draw(data, options);
- var columnChart = new google.visualization.ColumnChart(document.getElementById('ColoumnChartVendor'));
- columnChart.draw(data, options);
- //document.getElementById('format-select').onchange = function () {
- // options['vAxis']['format'] = this.value;
- // columnChart.draw(data, options);
- //var pieChart = new google.visualization.PieChart(document.getElementById('chart_div'));
- //pieChart.draw(data, options);
- }
- < /script>

Mahesh ChandPosted Jul 23, 2019, 1:31 AM
Thank you. I think you should explain how code works, what data source is, and how the UI looks like. Cheers!