3

如何更新谷歌可视化数据表中的数据?例子:

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 的职业?

4

1 回答 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-Doc 可以在此处找到:https ://developers.google.com/chart/interactive/docs/reference#DataTable并拥有一堆很好的示例。

于 2012-11-20T09:50:59.053 回答