【问题标题】:BIRT CELL CONDITIONAL HIGHLIGHTINGBIRT CELL 条件突出显示
【发布时间】:2021-05-26 14:58:11
【问题描述】:

我需要使用 BIRT 为报告表中的某些行着色。 已经有类似的讨论了,但对我来说还不够。

我想做的是像 Excel 那样使用条件格式为单元格着色,即我有几行,我想根据其“强度”为它们着色。例如,r1= 10, r2= 20, r3= 100。我会看到 r3 的颜色最饱和,而 r1 的颜色最少。

干杯!

【问题讨论】:

    标签: javascript reporting birt


    【解决方案1】:

    您可以在 onCreate 事件中使用 Javascript 执行此操作。 可能对数据项本身更好,而不是对包含该项的单元格。

    至少这对于表格项目很容易,但您似乎正在使用交叉表。 以下指南适用于 TABLEs: 您可以在 onCreate 事件中使用通常的 row["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] + ")";
    

    【讨论】:

    • 对于上下文:我使用 KNIME 来组织数据并使用 BIRT 进行报告。事实上,它不是交叉表。原始数据表包含几乎相同的信息(没有我在表中应用的几个过滤器)。此外,我几乎没有任何使用 BIRT 的经验,我对 Javascript 也一无所知……但我可以尝试。如何修改“onCreat”事件?
    • 点击布局中的单元格或数据项,然后打开脚本选项卡而不是布局,然后选择onCreate事件。由于 BIRT 不支持基于值的强度功能,因此您需要一点脚本知识。
    【解决方案2】:

    您是否尝试过使用与突出显示功能相关的条件格式?

    您可以单击要设置条件格式的单元格。 单击突出显示选项卡 点击添加 设置你的条件 设置您的首选格式

    enter image description here。我尝试发送设置条件格式的屏幕截图,但我想我对这种格式太陌生了。如果您需要更多信息,请告诉我。

    【讨论】:

    • 这不提供列之间的比较,它只允许一次格式化一列(具有自己的值)。
    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 2019-02-14
    • 2014-10-15
    相关资源
    最近更新 更多