当存在重复标题时,Jasper Reports 无法正确找到目录中的页面(table 的内容)

Jasper Reports does not find correctly the pages in TOC (table of contents) when there are duplicate titles

希望你一切都好。

目前我正在开发一份报告,使用 Jasper ReportsJava,为此我使用了两个groups,对数据源的元素进行分组。

数据库返回的DataSoruce结构如下(有两列):

Group 1 | SubGroup A

Group 2 | SubGroup A

我用以下方式在 jasper 文件中显示结果:

->Group 1

    SubGroup A

->Group 2

    SubGroup A

如您所见,有两个组:组 12,每个组都有一个子组,例如是同一个子组(子组 A)。

每个组都配置为出现在 Toc 中(table 的内容报告)。我使用了 iReport 工具,并将每个组配置为有一个 Hiperlink 和一个 Bookmark Level。 (具有 1 个书签级别的组和具有 2 个书签级别的子组)。

一切正常,TOC 正确显示,当我 select TOC 索引中的一个元素时,文档到达我对应的页面,但是有一个问题,当 Group 或 SubGrups 的名称,彼此相同(它已经出现在目录中,它的名称重复),Pdf 文件未到达正确的页面,带我到第一页他们有那个标题。

有人知道我该如何解决这个问题。

感谢您的帮助。

我能够解决问题。

1.- 我用表达式创建了一个变量 RANDOM:

new Random().nextInt(1000)

2.- 在 锚名称表达式 中,我调用了变量 RANDOM 并在它后面写了一个 *.

$F{TITLE} + "* " + $V{RANDOM}

3.- 在 TOC 报告中,我为每个 $F{label} 添加了以下表达式,如下所示:

 ( $F{label}.contains("*") ?    $F{label}.substring( 0, $F{label}.indexOf("*" ))  :    $F{label}  ) 

仅此而已,每个标题将是一个唯一的名称,索引将具有每个页面的 link 正确。