我是 Birt 脚本的新手,需要一些脚本方面的帮助。如果它们包含相同的数据,我想在行创建时合并表行中的单元格。例如这张表
------- ------- -------
| id1 | 2 | 4 |
------- ------- -------
| id2 | 5 | 5 |
------- ------- -------
应该看起来像
------- ------- -------
| id1 | 2 | 4 |
------- ------- -------
| id2 | 5 |
------- ------- -------
我找到了一些示例,现在我可以例如根据行数据 onrowcreate 更改行背景:
if (this.getRowData().getExpressionValue(1) == "id1")
this.getStyle().backgroundColor = "red";
if (this.getRowData().getExpressionValue(1) == "id2")
this.getStyle().backgroundColor = "blue";
另一个例子展示了如何在表头 beforeFactory 中合并单元格:
importPackage( Packages.org.eclipse.birt.report.model.api );
elementFactory = reportContext.getDesignHandle().getElementFactory();
var mytable = reportContext.getDesignHandle().findElement("mytable");
var myheader = mytable.getHeader( ).get( 0 );
tcell = myheader.getCells( ).get( 1 ).drop();
tcell = myheader.getCells( ).get( 0 );
tcell.setColumnSpan(2);
tcell.setRowSpan(1);
这两个示例都可以正常工作,但我需要在合并它们之前检查单元格中是否有相同的数据,我可以做一些类似于 beforeFactory 脚本 onrowcreate 的事情,或者可能有不同的方法。
谢谢!