【问题标题】:Google Pie Chart not displaying correctly on view page in Asp.Net MVCGoogle 饼图在 Asp.Net MVC 的视图页面上未正确显示
【发布时间】:2015-09-19 12:52:44
【问题描述】:

在我的view page 上显示我的Google Pie Chart 似乎有问题。它似乎没有正确显示Pie Chart 中的data,我不完全确定为什么,我尝试更改我的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>

报告的显示方式:

【问题讨论】:

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


    【解决方案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)]
        );
    

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2020-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多