[英]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對象:-
使用下面的循環,我得到動態的行和列。
$.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.