即使查询有效,我的Google饼图也不显示任何数据。 ASP.NET MVC

时间:2015-09-18 15:11:08

标签: asp.net-mvc razor google-visualization reporting

我努力想弄清楚为什么我的Google Pie Chart无法显示数据,即使我query在我测试时Query builder完全正常工作。

我对此仍然很陌生,我有一个基本的理解,但我似乎无法发现问题?如果有人可以帮助我解决方案,我将非常感激。我目前正在使用ASP.NET MVC进行开发,并且使用view page为{strong>报告运行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>

1 个答案:

答案 0 :(得分:0)

我认为您只是将行数据输出到drawChart()函数中,而不实际将其指定为DataTable的数据。

尝试:

data.addRows([
    @Html.Raw(rows)
]);

我实际上并没有使用Google的可视化API,但我将基于:https://developers.google.com/chart/interactive/docs/reference#DataTable