Dear all, I am little unsure why I am unable to render charts on the client-side, instead its showing blank page. I am calling data dynamically from the database through a JSON string in .net c#. I have debugged my code and the data is returned to the array on the server side code but its not passing through the javascript.
I do not have vast knowledge in java script, hence If I am missing something in the code, please do let me know. I am little unsure why I am unable to render charts on the web page. Please help, if possible. <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"> </script> <script type="text/javascript" src="//www.google.com/jsapi"></script> <script type="text/javascript"> function drawVisualization(dataValues, chartTitle, columnNames, categoryCaption) { if (dataValues.length < 1) return; var data = new google.visualization.DataTable(); data.addColumn('string', columnNames.split(',')[0]); data.addColumn('string', columnNames.split(',')[1]); data.addColumn('number', columnNames.split(',')[2]); for (var i = 0; i < dataValues.length; i++) { data.addRow([dataValues[i].Type, dataValues[i].COVER, dataValues[i].COUNT]); } var line = new google.visualization.ChartWrapper({ 'chartType': 'ColumnChart', 'containerId': 'chart1', 'options': { 'width': '1200', 'height': '500', 'legend': 'none', }, 'view': { 'columns': [0, 2] } }); var table = new google.visualization.ChartWrapper({ 'chartType': 'Table', 'containerId': 'chart2', 'options': { 'height': '25em', 'width': '80em' } }); var categoryPicker = new google.visualization.ControlWrapper({ 'controlType': 'CategoryFilter', 'containerId': 'Contorl1', 'options': { 'filterColumnLabel': columnNames.split(',')[1], 'filterColumnIndex': '1', 'ui': { 'label': 'Price', } }, }); new google.visualization.Dashboard(document.getElementById('PieChartExample')).bind([categoryPicker], [line, table]).draw(data); } </script> </head> <body> <div id="PieChartExample"> <table> <tr style='vertical-align: top'> <td > <div style="float: left;" id="chart1"></div> </td> </tr> <tr> <td > <div style="float: left;" id="chart2"></div> </td> </tr> <tr> <td style='width: 600px'> <div style="float: left;" id="control2"></div> </td> </tr> </table> </div> </body> </html> *server-side code:* protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { JavaScriptSerializer jss = new JavaScriptSerializer(); ClientScript.RegisterStartupScript(this.GetType(), "TestInitPageScript", string.Format("<script type=\"text/javascript\">google.load('visualization','1.0',{{'packages':['corechart','controls']}});google.setOnLoadCallback(function(){{drawVisualization({0},'{1}','{2}');}});</script>", jss.Serialize(GetData()), "Name Example", "Type,")); } } [WebMethod] public static List<Data3> GetData() { SqlConnection conn = new SqlConnection("##############"); DataSet ds = new DataSet(); DataTable dt = new DataTable(); conn.Open(); string cmdstr = "SELECT [Type], Cover, COUNT(Cover) AS 'Total' FROM [dbo].[database_qy] WHERE [Type] in ('bs','as') and UploadDate between '2014-03-01' and '2014-06-20' GROUP BY Cover, [Type] order by Cover"; SqlCommand cmd = new SqlCommand(cmdstr, conn); SqlDataAdapter adp = new SqlDataAdapter(cmd); adp.Fill(ds); dt = ds.Tables[0]; List<Data3> dataList = new List<Data3>(); string cov = ""; string typ = ""; int val = 0; foreach (DataRow dr in dt.Rows) { try { cov = dr[0].ToString(); typ = dr[1].ToString(); val = Convert.ToInt32(dr[2]); } catch { } dataList.Add(new Data3(cov, typ, val)); } return dataList; } Many thanks. -- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-visualization-api. For more options, visit https://groups.google.com/d/optout.
