Birt表动态格式化单元格

安德鲁·普林斯

是否可以在运行时动态格式化报告?我需要能够根据列和单元格的值设置单元格的样式。因此,如果column3的单元格值为23 .setStyleName(“ customStyle”);。我正在使用BIRT 4.2.2。

目前我有这样的事情:

// table detail
RowHandle tabledetail = (RowHandle) table.getDetail().get(0);
for (int i = 0; i < cols.size(); i++) {
    CellHandle cell = (CellHandle) tabledetail.getCells().get(i);
    DataItemHandle data = designFactory.newDataItem("data_" + cols.get(i));

    data.setResultSetColumn(cols.get(i));

    // data.getContent(from, cols.get(i)).getcontents();

    cell.getContent().add(data);

    // format every other columns
    if (i == 3) {
        cell.setStyleName("LabelHeader");
    }
}

但是由于某种原因,这会改变第四列中每个单元的背景颜色,而不是其中有3个单元的背景颜色。

我阅读了此Eclipse Birt-使用事件处理程序动态设置样式单元格表,唯一的答案是使用脚本。我不想使用我想在Java中更改样式的脚本。

我需要能够评估单元格的内容并根据此设置样式。

亚伦·迪古拉(Aaron Digulla)

您需要了解BIRT的工作原理,以了解代码为何无法工作。BIRT有一个设计阶段(在这里您没有任何值)。呈现报告时,BIRT将解析设计并按照某些规则进行扩展(例如,它将复制数据表的模板行,这样即使设计已完成,数据库返回的每一行数据也将获得一行输出。仅一行)。

这意味着您无法在设计阶段实现所需的功能-当时无法获得所需的值。

您需要的是事件处理程序或动态格式后者更简单。

如果要使用事件处理程序,请挂接到onFetch数据源事件中。从数据库中提取的每一行都会触发。此时,您可以检查数据并更改模板。注意:必须setStyleName()为每行设置一个有用的值因此,您必须具有两种样式(“不是3”和“是3”)并应用适合的一种。

可以从Java做到这一点,但是最简单的解决方案实际上是编写一小段JavaScript。然后,您可以使用Java代码在设计中安装此JavaScript。

从理论上讲,您可以直接从事件处理程序调用Java,但是我从未见过任何有用的文档。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据单元格的值有条件地格式化[gt]表中的单元格

来自分类Dev

使用单元格换行符格式化语义MediaWiki查询结果表模板

来自分类Dev

格式化数据表中的单元格值

来自分类Dev

使用 Measure 中定义的单元格属性来格式化 icCube 表

来自分类Dev

多功能条件格式化单元格范围

来自分类Dev

如何在Aspose中格式化单元格

来自分类Dev

使用python在excel中格式化单元格

来自分类Dev

从Excel读取列,重新格式化单元格

来自分类Dev

在Excel中获取单元格的格式化值

来自分类Dev

用逗号总结格式化单元格的公式

来自分类Dev

如何使Excel 2007停止格式化单元格?

来自分类Dev

使用脚本格式化单元格

来自分类Dev

在php中格式化csv(excel)单元格

来自分类Dev

在Excel中格式化单元格

来自分类Dev

格式化表格单元格中的值

来自分类Dev

移动选定的单元格而无需格式化

来自分类Dev

C# EPPlus OpenOfficeXml 格式化单元格

来自分类Dev

Excel 格式化单元格中的数字

来自分类Dev

格式化tableView单元格中的文本

来自分类Dev

格式化包含公式或硬数字的单元格

来自分类Dev

根据php中的值格式化单元格

来自分类Dev

单元格左移时自动格式化datagridview的单元格

来自分类Dev

如果单元格包含的日期小于今天,则格式化单元格

来自分类Dev

根据单元格文本内容格式化单元格颜色

来自分类Dev

从条件格式化的单元格进行麻烦的复制格式化

来自分类Dev

如何显示Google可视化表以对格式化的单元格值进行排序?

来自分类Dev

将上标添加到以kable / kableExtra格式化的表的一个单元格中以用于Rmarkdown

来自分类Dev

根据另一个工作表中的列表格式化单元格

来自分类Dev

根据另一个工作表中的匹配条件格式化单元格

Related 相关文章

  1. 1

    如何根据单元格的值有条件地格式化[gt]表中的单元格

  2. 2

    使用单元格换行符格式化语义MediaWiki查询结果表模板

  3. 3

    格式化数据表中的单元格值

  4. 4

    使用 Measure 中定义的单元格属性来格式化 icCube 表

  5. 5

    多功能条件格式化单元格范围

  6. 6

    如何在Aspose中格式化单元格

  7. 7

    使用python在excel中格式化单元格

  8. 8

    从Excel读取列,重新格式化单元格

  9. 9

    在Excel中获取单元格的格式化值

  10. 10

    用逗号总结格式化单元格的公式

  11. 11

    如何使Excel 2007停止格式化单元格?

  12. 12

    使用脚本格式化单元格

  13. 13

    在php中格式化csv(excel)单元格

  14. 14

    在Excel中格式化单元格

  15. 15

    格式化表格单元格中的值

  16. 16

    移动选定的单元格而无需格式化

  17. 17

    C# EPPlus OpenOfficeXml 格式化单元格

  18. 18

    Excel 格式化单元格中的数字

  19. 19

    格式化tableView单元格中的文本

  20. 20

    格式化包含公式或硬数字的单元格

  21. 21

    根据php中的值格式化单元格

  22. 22

    单元格左移时自动格式化datagridview的单元格

  23. 23

    如果单元格包含的日期小于今天,则格式化单元格

  24. 24

    根据单元格文本内容格式化单元格颜色

  25. 25

    从条件格式化的单元格进行麻烦的复制格式化

  26. 26

    如何显示Google可视化表以对格式化的单元格值进行排序?

  27. 27

    将上标添加到以kable / kableExtra格式化的表的一个单元格中以用于Rmarkdown

  28. 28

    根据另一个工作表中的列表格式化单元格

  29. 29

    根据另一个工作表中的匹配条件格式化单元格

热门标签

归档