我正在使用谷歌表格图表显示一些数据作为一个表。根据行上的状态值,我必须更改行的背景色。所以我必须动态显示多种颜色。我查过表格文件,也在网上搜索过。但却找不到提供这样的功能。请帮帮忙。
发布于 2016-04-30 01:06:44
这里给你一些选择..。
html
,提供
v:
值
f:
格式值
和
allowHtml: true
配置选项'ready'
事件上的表参见下面的示例,其中使用了所有三个..。
google.charts.load('current', {
callback: function () {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Department');
data.addColumn('number', 'Revenues');
data.addRows([
['Shoes', 10700],
['Sports', -15400],
['Toys', 12500],
['Electronics', -2100],
['Food', 22600],
['Art', 1100],
[
// add you own html
{v: 'Web', f: '<div style="background-color: cyan;">Web</div>'},
{v: 9999, f: '<div style="background-color: cyan;">9999</div>'}
]
]);
var container = document.getElementById('table_div');
var table = new google.visualization.Table(container);
google.visualization.events.addListener(table, 'ready', function () {
for (var i = 0; i < data.getNumberOfRows(); i++) {
if (data.getValue(i, 1) === 1100) {
// modify the table directly on 'ready'
container.getElementsByTagName('TR')[i+1].style.backgroundColor = 'magenta';
}
}
});
// use formatter
var formatter = new google.visualization.ColorFormat();
formatter.addRange(-20000, 0, 'white', 'orange');
formatter.addRange(20000, null, 'red', '#33ff33');
formatter.format(data, 1); // Apply formatter to second column
table.draw(data, {
allowHtml: true
});
},
packages: ['table']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="table_div"></div>
发布于 2018-12-14 23:04:18
当将HTML与数据对象混合时,rowIndex可能不同步,并会编辑错误的行。在我的例子中,我使用了dashboard()
和bind()
以及ChartWrapper()
& ControlWrapper()
来使用StringFilter
,所以在呈现之前我避免了addListener()
来更改HTML,而是修改了数据对象:
for (var i = 0; i < data.getNumberOfRows(); i++) {
if (data.getValue(i, 1) === 1100) {
// change entire row
data.setRowProperty(i, 'style', 'background-color:magenta;');
// or change columns 0 & 1
data.setProperty(i, 0, 'style', 'background-color:magenta;');
data.setProperty(i, 1, 'style', 'background-color:magenta;');
}
}
https://stackoverflow.com/questions/36946154
复制相似问题