更新 Google 可视化数据表中的数据

3
如何在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']);

当然,这添加了一行,现在我有两个Bob。 我如何更新Bob的职业?

当然,这会新增一行,现在我有两个Bob。 我该如何更新Bob的职业?
1个回答

13

由于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文档可在此处找到:https://developers.google.com/chart/interactive/docs/reference#DataTable,其中包含许多好的示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接