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']);

もちろん、これで新しい行が追加され、2 つのボブができました。ボブの職業を更新するにはどうすればよいですか?

4

1 に答える 1

13

挿入した最初の行は Bob であるため、彼の職業はインデックス 0 の行とインデックス 1 の列にあります。

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

更新する職業の人の行インデックスがわからない場合は、反復またはフィルタリングして、すべての Bob 行 (または、この場合は 1 つの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 に答える