BIRT:使用样式或脚本在报表中为多个对象使用高亮显示

时间:2016-09-26 08:37:02

标签: java css eclipse birt

这是我的第一个问题,所以请耐心等待。 : - )

我正在使用BIRT(ECLIPSE)创建一个包含多个表的报告。我希望这些表格中的许多单元格具有相同的突出显示规则(彩色背景,喜欢格式化等),基于相同的规则(例如,值等于减去5)。理想情况下,我也希望在其他报告中使用这些突出显示规则,但这并不重要。

如果可能的话,我想创建一个包含突出显示规则的STYLE(因为那时我可以在我需要的任何地方简单地应用它),但是我无法弄清楚如何填写条件框,因为适用对象的名称会有所不同。

如果STYLE不可行或不推荐,我也很乐意使用脚本遍历表格,但我不知道如何做到这一点。

提前致谢!!!

约翰

2 个答案:

答案 0 :(得分:0)

是的,您可以使用CSS编写样式,然后使用jQuery

应用条件情境
// jQuery
    if($('selector').val() == -5){
       $('selector').addclass('cssClass1');
    }else{
       $('selector').addclass('cssClass2');
    }


/* CSS */
    .cssClass1{color: red;}
    .cssClass2{color: blue;}

这应该有效

答案 1 :(得分:0)

如果将来有人遇到这个问题,我就是这样解决的:

首先,我创建了一个名为highlight_1的函数:

function highlight_1(Feld) {
    if (Feld.getValue() <= -0.75) {
        Feld.getStyle().backgroundColor = "#FF8040"
        Feld.getStyle().color = "Black";
    } else if (Feld.getValue() <= -0.25) {
        Feld.getStyle().backgroundColor = "#FFFF80"
        Feld.getStyle().color = "Black";
    } else if (Feld.getValue() >= 0.03) {
        Feld.getStyle().backgroundColor = "#97D9A2"
        Feld.getStyle().color = "Black";
    } else {
        Feld.getStyle().backgroundColor = "#00874E"
        Feld.getStyle().color = "White";
    }
}

然后我为onRender事件中的每个元素调用此函数,如下所示:

highlight_1(this)

这不完全是我的想法,但它不需要为每个新元素付出太多努力。