如何更新Google可视化数据表中的数据?例如:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Occupation');
data.addRow(['Bob', 'Shoe Wearer']);
data.addRow(['Henry', 'Transformer']);
data.addRow(['Betty', 'Seltzer Connoisseur']);
// Time passes and Bob changes jobs:
data.addRow(['Bob', 'Beach Comber']);
当然,这会增加一个新行,现在我有两个Bobs。 如何更新Bob的职业?
答案 0 :(得分:12)
由于Bob是您插入的第一行,他的职业位于索引为0的行和索引为1的列中:
data.setValue(0, 1, 'Beach Comber');
如果您不知道要更新职业的人的行索引,我建议迭代或过滤以查找所有Bob行(或您案例中的一行 Bob行) 。迭代是'蛮力'的方式,就像这样
for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {
if (data.getValue(y, 0) == 'Bob') {
data.setValue(y, 1, 'Beach Comber');
}
}
过滤更优雅:
var foundRows = data.getFilteredRows([{column: 0, value: 'Bob'}]);
for (var y = 0, maxrows = foundRows.length; y < maxrows; y++) {
data.setValue(foundRows[y], 1, 'Beach Comber');
}
参考API-Doc可以在这里找到:https://developers.google.com/chart/interactive/docs/reference#DataTable并且有很多例子。