2016-09-26 48 views
0

这是我的第一个问题,所以请耐心等待。 :-)BIRT:使用样式或脚本的报告中的几个对象的高光

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

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

如果一个STYLE是不可能的或不推荐,我也很乐意循环使用脚本表,但我不知道如何做到这一点。

在此先感谢!

约翰内斯

回答

0

是的,你可以使用CSS来写一个样式,然后使用有条件的情况适用jQuery的

// jQuery 
    if($('selector').val() == -5){ 
     $('selector').addclass('cssClass1'); 
    }else{ 
     $('selector').addclass('cssClass2'); 
    } 


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

这应该工作

+0

非常感谢您的快速响应!不幸的是我在导入时遇到这个错误信息: [4:11]遇到“$”。期待以下之一:“}”“;” 此外,它应用于数据字段时似乎没有做任何事情。 – Johannes

+0

你需要将它应用于一个事件函数,例如 $(“.target”).change(function(){{0}}之前被粘贴的*/ }并且你需要添加jquery库。不是太用于Eclipse(java),所以我不能告诉你比我说的更多,我认为,对不起。尝试谷歌如何插入一个Java文件中的jquery函数 – JoelBonetR

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) 

这不正是我脑子里想的,但它的作品,而不需要为每个新元素太多精力。