尽管查询有效,但我的 Google 饼图未显示任何数据。 ASP.NETMVC
My Google Pie Chart is displaying no data even though query works . ASP.NET MVC
虽然我的 query
在 Query builder
测试时完美运行,但我一直在努力弄清楚为什么我的 Google Pie Chart
无法显示数据。
我对此还是很陌生,我有基本的了解,但我似乎无法发现问题所在?如果有人可以帮助我解决问题,我将不胜感激。我目前正在 ASP.NET MVC
进行开发,并且我 运行 我的 view page
的所有内容都使用 Razor
用于此 报告 。如果有人需要额外的代码,请让我知道并提前致谢。
@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.Province + "','" + 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', 'Province');
data.addColumn('number', 'Orders');
@Html.Raw(rows);
var options = {
title: 'Orders Per Hospital'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
我认为您只是将行数据输出到 drawChart() 函数中,而没有实际将其指定为 DataTable 的数据。
尝试:
data.addRows([
@Html.Raw(rows)
]);
我还没有实际使用过 Google 的可视化 API,但我将基于:https://developers.google.com/chart/interactive/docs/reference#DataTable
虽然我的 query
在 Query builder
测试时完美运行,但我一直在努力弄清楚为什么我的 Google Pie Chart
无法显示数据。
我对此还是很陌生,我有基本的了解,但我似乎无法发现问题所在?如果有人可以帮助我解决问题,我将不胜感激。我目前正在 ASP.NET MVC
进行开发,并且我 运行 我的 view page
的所有内容都使用 Razor
用于此 报告 。如果有人需要额外的代码,请让我知道并提前致谢。
@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.Province + "','" + 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', 'Province');
data.addColumn('number', 'Orders');
@Html.Raw(rows);
var options = {
title: 'Orders Per Hospital'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
我认为您只是将行数据输出到 drawChart() 函数中,而没有实际将其指定为 DataTable 的数据。
尝试:
data.addRows([
@Html.Raw(rows)
]);
我还没有实际使用过 Google 的可视化 API,但我将基于:https://developers.google.com/chart/interactive/docs/reference#DataTable