Birt报表第一页不同的页眉

7

已经有这个帖子,其中有一个示例,可以创建与其余页面不同的第一页页眉。我可以下载并成功运行此示例。

当我尝试模仿此示例时,我无法做到这一点(澄清:将源更改为我自己的源数据库后,页眉无法正确更改)。最终,我开始将我的报告单个部分复制到示例报告中,以查看触发问题的原因(澄清:我逐步删除了我的报告和示例报告之间的差异,以确定导致问题的确切差异)。结果是我的表格有问题。

由于某种我无法解释的原因,如果我添加自己的新数据集,使用示例数据库删除表格并添加使用我的数据集的表格,则无法正常工作。当我说它无法正常工作时,我的意思是突然之间每个页面的页眉都相同,并且不会像预期那样在随后的页面上更改。

如果我在强制执行与其他页面内容不同的脚本(如下所示)的脚本上运行调试器并设置断点,则似乎会出现以下情况:使用示例数据库表时,在每个页面上都会调用onRender事件......但是对于我的表格,它只被调用一次。这导致主页只在pageNumber变量=1时在开始时检查onRender脚本。我已经花费了数小时的时间,并希望真正知道原因的人能够帮助我。

以下是代码:

if( pageNumber > 1 ){
    this.getStyle().display = "none";
}

非常感谢您的帮助和知识,
-Asaf
1个回答

3

您提到

我试图模仿这个例子,但我做不到

因此,您可能错过了某个步骤。有DevShare BIRT: Multiple Master Pages和支持的博客条目 BIRT:无脚本的多个主页 ,应该引导您完成整个过程。

编辑 根据澄清

使用“布局”编辑器修改BIRT(特别是免费版本)中的现有报告可能不会在XML中正确更新。 XML是报告的实际基础。从头开始重新创建报告,并仅使用示例作为指南应该解决您所指示的问题。

当您(或客户)不完全确定最终报告将是什么时,版本控制提供了一种安全的“撤消”方法,因为在那个版本中它从未真正完成。在尝试新功能之前,我总是保存一个版本(并在报告描述中进行文档化)。

Version


首先,如果我的记忆出现了偏差,我深表歉意。我相当久以前就问过这个问题了。实际上,我已经换了工作,不再使用BIRT了。尽管如此,我还是记得我的意思,并且我可以看出我当时表述不清楚。因此,在这条评论之后,我将编辑并正确解释事情。我在上一行中首先写道:“我可以下载这个示例并成功运行它。”所以我没有问题,可以让示例正常工作。现在,当我说“模仿”时,我是指我修改了示例(使用了自己的数据库源),这就是标题无法正确更改的原因。 - Asaf
1
我了解你的意思是你试图修改你下载的例子而不是从头开始创建。 这是学习如何组合事物的好方法,但不适合在BIRT中制作功能性报告。 像许多应用程序一样,BIRT使用GUI创建XML文件,其中XML文件是实际的“程序”,GUI上看到的只是XML的表示。 当您拖放和修改时,XML并不总是正确更新的。 由于BIRT是开源(免费软件)产品,因此这种情况比您预期的付费工具更常见。(续) - James Jenkins
1
通常我从存档点或者从头开始重新创建来恢复这些事件,但是偶尔如果是因为我删除或重命名了某些东西导致的绑定错误,我会直接进入XML文件进行更改。当尝试新事物时,我总是在朝着未知方向前进之前先进行“另存为”。 - James Jenkins
感谢您抽出时间尝试回答我的问题。就像我所说的,这个问题很久以前就被问过了,但当时我已经编写了100多个BIRT报告。因此,我非常清楚XML是实际报告背后的原因。所有报告也都在SVN中进行了版本控制,Eclipse允许您跟踪本地历史记录,我也利用了这一点。您可以在问题中看到,我还添加了断点并尝试调试该问题。话虽如此,BIRT可能已经推出了新版本...(续下评论) - Asaf
由于您提供了多个示例链接并进行了解释,而我没有时间实际检查,因此我将接受您的答案。谢谢您的帮助。最后,我记得我通过忽略主页面并将标题添加到主文档来“解决”这个问题。当然,它最终只出现在第一页。 - Asaf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接