2

我需要在BIRT 报告的第一页上有一个母版页标题,在下一页有另一个母版页标题。我使用的是 3.7.1 版本。

  1. 我在母版页标题中插入了一个包含两行的网格。
  2. 我将一个新网格放入每一行。第一个嵌套网格用于第一页页眉,第二个嵌套网格用于下一页页眉。

  3. 我设置了一个 onRender 脚本:

    //first nested grid
    if( pageNumber > 1 ){
    this.getStyle().display = "none";
    }
    //second nested grid
    if( pageNumber == 1 ){
    this.getStyle().display = "none";
    }else{
    this.getStyle().display = "block";
    }
    

这适用于来自 JDBC 数据源的示例数据库。但我需要 XML 数据源,因此它根本不起作用。似乎对于示例数据库表,onRender 事件在每个页面上都被调用,但对于我的 XML 数据源,它只被调用一次。

拜托,如果你能帮我解决这个神秘的问题,我将不胜感激。

艾丽莎

4

2 回答 2

1

数据源是什么并不重要。不过,为了以防万一,我确实对其进行了测试,并且在使用 XML 源时它对我有用。我唯一能想到的就是您正在使用自动布局并且表格上的分页符间隔为 0。输出到 PDF 将只显示第 1 页标题,每次。你拥有什么数据源并不重要。你可以看看这个。

于 2013-03-05T23:18:19.320 回答
0

如果你想这样做:

P1:标题网格 1 P2...:标题网格 2

(如果我理解正确,在您的特殊情况下,Grid1 是 R1,R2 和 Grid2 是 R2)

有个窍门:

在您的母版页属性中,告诉 BIRT 不要在第一页上显示页眉并将 Grid2 放入页眉中。

但是,BIRT 仍然为头部保留空间。

将 Grid1 作为第一个对象添加到您的报表布局中,并为 Grid1 使用负边距以相应地向上移动它。

注意:这适用于 PDF 发射器,但不适用于 Word 发射器。

于 2014-02-10T08:24:13.873 回答