簡體   English   中英

使用MVC和CanvasJS的動態圖表

[英]Dynamic charts with MVC and CanvasJS

我正在嘗試從MVC模型列表中生成CanvasJS條形圖。 這似乎可以生成對象,但是當我嘗試渲染圖表canvasJS時抱怨找不到數據數組。有什么想法嗎?

<script>
    var yearbargraphchart = new CanvasJS.Chart("chartContainerbar1");

    yearbargraphchart.options.title = {
        text: "Year attendance: " + " percent_attend var here " + " %",
        fontWeight: "bolder",
        fontColor: "#008B8B",
        fontSize: 20,
        padding: 10
    };

    yearbargraphchart.options.axisX = {
        title: "Axis X Title"
    };
    yearbargraphchart.options.axisY = {
        title: "Axis Y Title"
    };

    var fa = [];
    yearbargraphchart.data = fa;              
</script>


@foreach (var item in Model){
<script>
    var bp = [];
    var obj = {}
   obj.foo = "test";
   test = [];

 bp.push({ label: ' Present: ' + "@(item.Marks_present)" , y: "@(item.Marks_present)" });      

    var n = "dps@(item.Month)";            // set dynamic name for sub array:
    var test = { type: "bar", name: n };      
    test.dataPoints = bp;
    fa.push(test);

   console.log("post yearbargraphchart.data.push " + JSON.stringify(yearbargraphchart.data));
</script>
}

<script>
yearbargraphchart.render();
yearbargraphchart = {};
</script>

您有一些數據關系錯誤。

var fa = [];
yearbargraphchart.data = fa;    

這實際上並沒有將“ fa”綁定到“ yearbargraphchart.data”,因此稍后在您執行時

fa.push(test);

您將數據推送到“ fa”中,而不會推送到“ yearbargraphchart.data”中

嘗試這個。 代替

yearbargraphchart.data.push(test);

我認為那可以解決問題

暫無
暫無

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

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