Click here to Skip to main content
16,016,184 members

Comments by Mohamed Ghandour (Top 6 by date)

Mohamed Ghandour 11-Nov-14 6:51am View    
Thanks Afzaal, very useful :)
Mohamed Ghandour 30-Apr-14 6:38am View    
http://forums.asp.net/p/1984303/5687261.aspx?Re+Google+Organizational+Chart+in+Asp+net+from+oracle
Mohamed Ghandour 30-Apr-14 4:54am View    
I have done this in code behind:

protected void Page_Load(object sender, EventArgs e)
{
HiddenField1.Value = ConvertDataTabletoString();
}

public string ConvertDataTabletoString()
{
DataTable dt = new DataTable();
using (OracleConnection conn = new OracleConnection("User Id=apps;Password=appsnewuser;Data Source=PROD"))
{
using (OracleCommand cmd = new OracleCommand("SELECT HAO_PARENT.ORGANIZATION_ID parent, HAO_CHILD.ORGANIZATION_ID FROM HR_ALL_ORGANIZATION_UNITS hao_parent, HR_ALL_ORGANIZATION_UNITS hao_child, PER_ORG_STRUCTURE_ELEMENTS pos WHERE hao_parent.ORGANIZATION_ID = POS.ORGANIZATION_ID_PARENT AND hao_child.ORGANIZATION_ID = POS.ORGANIZATION_ID_CHILD ORDER BY 1, 2", conn))
{
conn.Open();
OracleDataAdapter da = new OracleDataAdapter(cmd);
da.Fill(dt);
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<dictionary<string, object="">> rows = new List<dictionary<string, object="">>();
Dictionary<string, object=""> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object="">();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
}
}
And this in the Java script:

google.load('visualization', '1', { packages: ['orgchart'] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Node');
data.addColumn('string', 'Parent');

data.addRows(JSON.parse(document.getElementById("<%=HiddenField1.ClientID%>").value));

//
var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
chart.draw(data);
}
But i got this error:

"Every row given must be either null or an array"
Mohamed Ghandour 30-Apr-14 3:47am View    
try
{
OracleCommand cmd = new OracleCommand(stSQL, oradb.con);
OracleDataReader dr = cmd.ExecuteReader();
string str, str1;

int rowCount = 0;
while (dr.Read())
{
rowCount++;
str = dr["EMPLOYEE_NUMBER"].ToString();
str1 = dr["SUPERVISOR_ID"].ToString();
}
}

Thats how i return data so i want to set the org chart with these data.
I need to convert that datatable to JSON string to send it to google's JS code
Mohamed Ghandour 25-Mar-14 19:05pm View    
Report disappeared and wrote "Cannot create a data reader for dataset "
That is because of chart i think