我需要用BIRT给报表中的一些行着色。已经有类似的讨论,但对我来说还不够。
我想要做的是给单元格上色,就像Excel用它的条件格式一样,也就是说,我有几行,我想根据它们的“强度”给它们上色。例如,r1= 10、r2= 20、r3= 100。我会看到色彩饱和度最高的r3和最少的r1。
干杯!
发布于 2021-05-27 23:05:47
您可以在onCreate事件中使用Javascript来实现这一点。可能更适合数据项本身,而不是包含该项的单元格。
至少对于表项来说,这很容易,但看起来您使用的是交叉表。下面的指南适用于表:您可以在onCreate事件中使用常用的行“NAME”语法访问值,即使调色板没有提供它。所以,举个例子(未测试):
var cell_value = row["NAME"];
var intensity = do_something_to_compute_this_from(cell_value);
// should be in the range 0.0 to 1.0
// Now compute RGB values from a "base" RGB ( 0 .. 255 )
var white = [255, 255, 255];
var base = [ 0, 60, 0 ]; // some green
var result = [];
for (var i=0; i<3; i++) {
var w = white[i];
var b = base[i];
var r = int( intensity * b + (1-intensity) * w );
result.push(r);
}
this.getStyle().backgroundColor = "RGB(" + result[0] + "," + result[1] + "," + result[2] + ")";
发布于 2021-05-27 23:59:20
您是否尝试过使用与突出显示功能关联的条件格式?
您可以单击要设置条件格式的单元格。单击突出显示选项卡单击添加设置条件设置首选格式
enter image description here。我试着发送了设置条件格式的屏幕截图,但我想我对这种格式太陌生了。如果你需要更多信息,请告诉我。
https://stackoverflow.com/questions/67707546
复制相似问题