如何连接字段的第一个和最后一个值并隐藏IReport中表组页脚中的特定记录

时间:2012-03-17 08:58:11

标签: jasper-reports ireport tabular

我有一个表组件,可以显示像这样的一年中的一些记录

例如:

Year   Month    SumMonth //group header
2009   Jan      1000     //table details
       Feb      2000
       Mar      3000
2009   xxxx     6000     //group year footer
2010   Jan      1100     //table details
       Feb      1200
2010   xxxx     2300     //group year footer

上表中的“xxxx”部分是我需要修改的部分。

我想显示如下格式:

1月 - 3月”(2010年是“ 1月 - 2月”)

问题是如何获得第一个月上个月的价值并将它们连接成一个变量(或者不需要?),这样我就可以它成了页脚?

另一个问题是如何隐藏特定年份的记录?

例如,最终修改过的显示可能是这样的:

Year   Month     SumMonth //group header
2009   Jan-Mar   6000     //group year footer
2010   Jan       1100     //table details
       Feb       1200
2010   Jan-Feb   2300     //group year footer

您可以看到2009年的所有记录都隐藏在上表中。 我应该设置哪些选项或表达式?

1 个答案:

答案 0 :(得分:5)

创建一个名为FirstMonth的变量。其表达式为$F{month},其计算结果为First。创建一个名为LastMonth的变量。其表达式为$F{month},其计算结果为None。在你的情况下,两者都应该重置每年。然后在年份页脚中它就像这样简单:

$V{FirstMonth} + "-" + $V{LastMonth}

如果您不想查看2009年的详细信息,请在详细信息频段中设置“在表达式时打印”,如${Year}.intValue() != 2009