2013-03-05 163 views
1

我需要的第一页上不同的母版页头有第一页上一个母版页页眉和BIRT报表的下一个页面的另一个母版页页眉。 我正在使用3.7.1版本。BIRT - 报告

  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数据源它只被调用一次。

请,如果你能帮我解决这个神秘的问题,我会非常感激。

erisa

回答

1

它应该无关紧要dataSource是什么。我做了测试,以防万一,并且在使用XML源代码时适用于我。我能想到的唯一的事情就是你正在使用自动布局,并且在你的表上有一个分页符间隔为0。然后输出为PDF将每次显示页面1标题。不管你有什么dataSource。你可以看看这个。

+0

我需要不同的母版页眉。不是表头中的标题.... – erisa 2013-03-06 10:04:52

+0

kclark在http://www.birt-exchange.org/org/forum/index.php/topic/28949-different-master-page-header-on上贴出了一些例子-the-first-page-of-report/page__pid__114846__st__0&#entry114846 – 2013-03-06 18:11:07

0

如果你想这样做:

P1:头GRID1 P2 ...:头GRID2

(在特殊情况GRID1是R1,R2和GRID2是R2,如果我理解正确的话)

有一招:

在你的母版页的属性,告诉BIRT不显示在第一页的页头,并把GRID2到页面标题。

但是,BIRT仍然保留空间作为标题。

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

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

+0

顺便说一句我昨天发布了BIRT 4.3.2的补丁(参见https://bugs.eclipse.org/bugs/show_bug.cgi?id=432310)这也与Word Emitter合作。 – hvb 2014-04-09 07:04:50