2012-11-13 53 views
1

如何更新谷歌可视化数据表中的数据?例如:在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的职业?

回答

9

正如鲍勃是你插入的第一排,他的职业驻留在排索引0和列索引1:

data.setValue(0, 1, 'Beach Comber'); 

如果你不知道一个人谁是职业的行索引是要更新,我建议迭代或过滤来查找所有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,并拥有一帮一个很好的例子。