Jos*_*son 2 javascript google-visualization google-datatable
如何更新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']);
Run Code Online (Sandbox Code Playgroud)
当然,这增加了一个新行,现在我有两个Bobs.我怎样才能更新鲍勃的职业?
小智 12
由于Bob是您插入的第一行,因此他的职业位于索引为0的行和索引为1的列中:
data.setValue(0, 1, 'Beach Comber');
Run Code Online (Sandbox Code Playgroud)
如果您不知道要更新职业的人的行索引,我建议迭代或过滤以查找所有Bob行(或您的案例中的一个 Bob行).迭代是'蛮力'的方式,就像这样
for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {
if (data.getValue(y, 0) == 'Bob') {
data.setValue(y, 1, 'Beach Comber');
}
}
Run Code Online (Sandbox Code Playgroud)
过滤更优雅:
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');
}
Run Code Online (Sandbox Code Playgroud)
可以在此处找到参考API-Doc:https://developers.google.com/chart/interactive/docs/reference#DataTable,并提供了一些很好的示例.