我刚开始使用谷歌图表和它非常酷的东西。唯一的问题是我找不到任何使用从 sql server 视图馈送的数据来实现这一点的好例子。所以我创建了一个示例项目来促进这个功能,但我正在努力让它工作。请在下面找到我的代码:
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1', { 'packages': ['corechart'] });
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
url: "api/Google",
dataType: "json",
async: false
}).responseText;
alert(jsonData);
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable(jsonData);
data.addColumn('string', 'Employee');
data.addColumn('number', 'TotalNoOfReports');
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, { width: 400, height: 240 });
}
</script>
我得到了正确的 json 数据字符串,但是当我将 jsonData 传递给 DataTable() 类时,它没有返回图表的数据。我也尝试调用 data.AddRows(jsonData),但仍然没有运气。我猜 google 不理解普通 json 数据的结构,要求它采用以下格式:
{"cols":[{"id":"Col1","label":"","type":"date"}],
"rows":[
{"c":[{"v":"a"},{"v":"Date(2010,10,6)"}]},
{"c":[{"v":"b"},{"v":"Date(2010,10,7)"}]}
]
}
有没有办法让我的 jsonData 看起来像上面的结构,可能更通用。唯一的图表示例是静态的,有时您需要读取数据库,请协助。