簡體   English   中英

在Google圖表中動態添加行和列

[英]Dynamically add Rows and Columns in Google Chart

我正在使用Google圖表,並且想在Google圖表中動態添加行和列。 我嘗試使用下面的ajax,但無法正常工作。

這里的NumCols未定義,添加行時出錯

未捕獲的錯誤:如果將參數賦給addRow,則它必須是一個數組,或者為null

阿賈克斯: -

 $.ajax({
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json',
        url: '/home/DrawChart',     
        data: '{}',
        success: function (chartsdataSet) {             
            data = new google.visualization.DataTable();

            var chartsdata = JSON.parse(chartsdataSet).Table;

            var numRows = chartsdata.length;
            var numCols = chartsdata[0].length;

            data.addColumn('string', chartsdata[0][0]);

            // all other columns are of type 'number'.
            for (var i = 1; i < numCols; i++)
                data.addColumn('number', chartsdata[0][i]);

            // now add the rows.
            for (var j = 1; j < numRows; j++)
                data.addRow(chartsdata[j]);
        chart = new google.visualization.Table(document.getElementById('Graph1')); 
        chart.draw(data, options);   
    });

解析后的JSON對象:-

解析后的JSON對象

使用下面的循環,我得到動態的行和列。

 $.ajax({
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json',
        url: '/home/DrawChart',     
        data: '{}',
        success: function (chartsdataSet) {             
            data1 = new google.visualization.DataTable();

            var chartsdata1 = JSON.parse(chartsdataSet).Table;
            var myVal = [];
            var colName;
            var colCount = 0;
            for (var i = 0; i < chartsdata1.length; i++) {
                var row = chartsdata1[i];
                myVal.length = 0;
                $.each(row, function (key, value) {
                    if (i == 0) {
                        if (colCount == 0) {
                            colName = key;
                            data1.addColumn('string', colName);
                            colCount += 1;
                        }
                        else {
                            data1.addColumn('number', key);
                        }
                    }
                    myVal.push(value);
                }); data1.addRow(myVal);
            }
});

暫無
暫無

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

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