我在Google Pie Chart
上显示view page
似乎有问题。它似乎无法正确显示data
中的Pie Chart
并且我不完全确定原因,我尝试更改dataColumn
的代码,但最终无法显示什么都没有。所以我还原了...... query
确实有效,正在从数据库中提取正确的数据。
我对报道还是比较新的,所以如果有人能提出解决方案我会非常感激!
我使用razor syntax
在视图中完成了所有操作。如果需要任何其他代码,请告诉我们。
查看页码:
@using WebMatrix.Data;
@using WebMatrix.WebData;
@{
var db = Database.Open("HealthContext");
String rows = "";
var Query = ("SELECT Hospital.Name,Hospital.Province,Count([Order].OrderID) AS Orders FROM Hospital,[Order] WHERE Hospital.HospitalID = [Order].HospitalID GROUP BY Hospital.Name,Hospital.Province;");
var AppQuery = db.Query(Query);
List<string> rowsList = new List<string>();
foreach (var item in AppQuery)
{
rowsList.Add("['" + item.Name + "','" + item.Orders + "']");
};
rows = String.Join(", ", rowsList);
}
<h2>PieChart1</h2>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Orders');
data.addRows([
@Html.Raw(rows)]
);
var options = {
title: 'Orders Per Hospital'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
报告的显示方式:
答案 0 :(得分:1)
没有看到数据@Html.Raw(rows)
产生,肯定很难回答。
但是,String
似乎是订单而不是Number
。
我首先要改变:
rowsList.Add("['" + item.Name + "','" + item.Orders + "']");
为:
rowsList.Add("['" + item.Name + "'," + item.Orders + "]");
和
data.addColumn('string', 'Name');
data.addColumn('string', 'Orders');
data.addRows([
@Html.Raw(rows)]
);
要:
data.addColumn('string', 'Name');
data.addColumn('number', 'Orders');
data.addRows([
@Html.Raw(rows)]
);