0

私は google.visualization.DataTable を使用しており、関連する 2 つの列があり、colSmall と colLarge と呼びます。特定の行で colSmall が colLarge より大きい場合、その行の背景色を赤にしたいと思います。

最も近いのは、google.visualization.ColorFormat() を使用することです。フォーマッタと addRange を作成して、特定の値をハードコーディングし、colSmall がその値を超えると赤になるようにすることができます (以下を参照)。

var formatter = new google.visualization.ColorFormat();
formatter.addRange('100', null, 'black', 'red'); // anything greater than 100 will be red (the quotes are because these are string values)
formatter.format(data, 7); // colSmall is index 7

この行の別の列を表示する方法を見つけることができませんでした。私が抱えているもう1つの問題は、これが行全体ではなくセルのみを赤くすることです。

4

1 に答える 1

0

私はそれを行うハックな方法を見つけましたが、それでも私はもっと良い方法を好むでしょう.

データを構築してからすべてをテーブルに追加する代わりに、各行をテーブルに挿入してそこでフォーマットできます。

次に、任意の行に対して、次のようなことができます。

                    var rowIndex = data.addRow(val);
                    if (colSmall > colLarge) {
                      data.setProperties(rowIndex, 2, {style: 'background-color:red'});
                    }

その行の各列 (列 2 だけでなく)。

setProperty や、さらに良いのは setRowProperty を使用できるようにしたいのですが、これらのメソッドを試すたびにうまくいかないので、今のところこれで解決しています。

于 2016-09-13T23:57:14.910 に答える