簡體   English   中英

Json反對Google餅圖

[英]Json object to Google pie chart

我無法繪制Google餅圖,該餅圖的DataTable由Json對象填充。

這是我用來生成數據對象的代碼(來自我后面的代碼)。

public string getJsonObj()
{
    Utility utils = new Utility();
    List<Item> dataList = new List<Item>();
    dataList.Add(new Item("Mosta",50));
    dataList.Add(new Item("Naxxar",60));
    string json = utils.JsonString(dataList);
    this.ChartData.Value = json;
    return json;
}

物品類別

public class Item
{
    private string location = "";
    private int frequency = 0;

    public Item(string location, int frequency)
    {
        this.Location = location;
        this.Frequency = frequency;
    }

    public string Location
    {
        get { return location; }
        set { location = value; }
    }

    public int Frequency
    {
        get { return frequency; }
        set { frequency = value; }
    }
}

的HTML

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("visualization", "1", { packages: ["corechart"] });
    google.setOnLoadCallback(drawChart);

<script type="text/javascript">
    function drawPieChart() {

        var data = google.visualization.DataTable(document.getElementById("ChartData").value));

        var options = {
            title: 'Test Pie Chart'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart1'));

        chart.draw(data, options);
    }
</script>
<div id="piechart1" style="width: auto; height: auto;"></div>

有人可以告訴我為什么沒有顯示出來。 謝謝。

沒有看到您的json,很難說這是否是唯一的錯誤。 但是您的回調函數未正確指定。 您需要更改此:

 google.setOnLoadCallback(drawChart);

對此:

 google.setOnLoadCallback(drawPieChart);

您傳遞給setOnLoadCallback的參數應該是您指定的將數據嫁接到html的函數。 在這種情況下,它是drawPieChart。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM