How to create google organization chart from database in Asp.net
In this
article I am going to explain how to create google organization chart from
database in ASP.NET. Step by step
Step 1
Create Database and table in sql server
Table Design
Column
|
DataType
|
Id
|
Int
|
Name
|
Varchar(50)
|
Parent
|
Varchar(50)
|
ToolTip
|
Varchar(50)
|
Sample Data
Name
|
Parent
|
Tooltip
|
Manager
|
Manager
|
|
Supervisor1
|
Manager
|
Supervisor1
|
Supervisor2
|
Manager
|
Supervisor2
|
Supervisor3
|
Manager
|
Supervisor3
|
Employee1
|
Supervisor1
|
Employee1
|
Employee2
|
Supervisor1
|
Employee2
|
Employee23
|
Supervisor2
|
Employee3
|
Step 2
Open visual
studio => Create new website => Add new page and give the suitable name
Step 3
Html Markup
<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="Chart.aspx.cs"
Inherits="Chart"
%>
<!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">
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
</head>
<body>
<form id="form1" runat="server">
<asp:Literal ID="ltrScript" runat="server"></asp:Literal>
<div>
<div id="chart_div"></div>
</div>
</form>
</body>
</html>
|
Namespace
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Text;
|
Code Snippet
SqlConnection conn = new SqlConnection("Data
source=ASHOK-PC\\SQLSERVER_NEW; Database=Practice;USER
ID=sa;PWD=a;Pooling=true;");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindOrganaizationChart();
}
}
private void BindOrganaizationChart()
{
StringBuilder str=new StringBuilder();
DataTable dt = new DataTable();
try
{
string cmd = "select
[id] ,[name] ,[parent]
,[ToolTip] from Sample";
SqlDataAdapter adp = new SqlDataAdapter(cmd, conn);
adp.Fill(dt);
str.Append(@"<script type='text/javascript'>
google.charts.load('current', { packages: ['orgchart'] });
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new
google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string',
'Manager');
data.addColumn('string',
'ToolTip');
data.addRows([");
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i ==
dt.Rows.Count-1)
{
str.Append(" ['" + dt.Rows[i]["name"].ToString() + "', '" + dt.Rows[i]["parent"].ToString() + "', '" + dt.Rows[i]["ToolTip"].ToString() + "']");
}
else
{
str.Append(" ['" + dt.Rows[i]["name"].ToString() + "', '" + dt.Rows[i]["parent"].ToString() + "', '" + dt.Rows[i]["ToolTip"].ToString() + "'],");
}
}
str.Append("]);");
str.Append(" var
chart = new
google.visualization.OrgChart(document.getElementById('chart_div'));");
str.Append("
chart.draw(data, { allowHtml: true });");
str.Append("}");
str.Append("</script>");
ltrScript.Text = str.ToString();
}
catch
{ }
}
|
Results
Download
For more info go to the below link https://developers.google.com/chart/interactive/docs/gallery/orgchart
Nice one Sir..!!!
ReplyDelete