2012-11-13 89 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,並擁有一幫一個很好的例子。