如何在rowcreate中操作行单元格
Birt - how to manipulate row cells onrowcreate
我是新来的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,或者可能有不同的方式。
谢谢!
一旦创建了表,就不可能合并单元格,所以这需要在beforeFactory事件中完成,这对您不起作用,因为它在看到您的数据集之前运行。
根据表的复杂程度,创建两个详细行可能是有意义的,一个有合并的列,一个没有。然后,可以根据行中的数据动态隐藏不想使用的详细行。
相关文章:
- 使用jquery在单击时在单元格中输入值
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 可以'我不明白为什么;t将行和单元格添加到表中
- 如何在Angular中的表的所有单元格中添加链接
- 表中单元格的总和
- ExtJS网格单元格编辑器,防止焦点松动问题
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 区分电子表格中的空单元格和0值
- ui网格将单元格显示为选择标记
- 单元格的工具提示或标题不显示超过2000个字符
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 允许表单元格内容水平展开
- 如何将jQuery/AAJAX结果放入表格单元格
- 使用jQuery只返回选中复选框后的第一个表单元格值
- jQuery-通过AJAX调用动态添加具有值的表单元格
- 日历仅对具有日期的单元格进行操作
- SSRS:操作“转到 URL”在应用于矩阵中的数据单元格后不起作用
- jQuery,处理表单元格上的操作侦听器,处理性能和内存泄漏
- 如何在rowcreate中操作行单元格
- 可操作的自动完成弹出/显示以上单元格