Jasper reports 如何连接字段的第一个值和最后一个值,并在IReport的表组页脚中隐藏特定记录
我有一个表组件,它显示了一组年份中的一些记录,就像这样 例如:Jasper reports 如何连接字段的第一个值和最后一个值,并在IReport的表组页脚中隐藏特定记录,jasper-reports,ireport,tabular,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 Fe
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部分是我需要修改的部分
我想显示如下格式:
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
2010年的一月到三月是一月到二月
问题是如何获取第一个月和最后一个月的值,并将它们连接到一个变量中,或者不需要?这样我就可以将其放入页脚中
另一个问题是如何隐藏特定年份的记录
例如,最终修改的显示可能如下所示:
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年的所有记录都隐藏在上表中。
我应该设置哪些选项或表达式?创建名为FirstMonth的变量。它的表达式是$F{month},它的计算是第一个。创建一个名为lastmount的变量。它的表达式是$F{month},计算结果是None。在您的情况下,这两个都应每年重置。然后在年页脚中,它是如此简单:
$V{FirstMonth} + "-" + $V{LastMonth}
如果不想查看2009年的详细信息,请在详细信息栏中设置打印时间表达式,如${Year}.intValue!=2009创建一个名为FirstMonth的变量。它的表达式是$F{month},它的计算是第一个。创建一个名为lastmount的变量。它的表达式是$F{month},计算结果是None。在您的情况下,这两个都应每年重置。然后在年页脚中,它是如此简单:
$V{FirstMonth} + "-" + $V{LastMonth}
如果不想查看2009年的详细信息,请在详细信息栏中设置打印时间表达式,如${Year}.intValue!=2009年谢谢您的回复。我成功地完成了连接部分。但我仍然坚持在表达式部分打印时…正如我所说的,这是表格组件,而不是报表详细栏…因此我在表格组件详细栏中找不到任何打印时表达式。我唯一发现的是列打印,但它对我的情况没有用处,它将消失一整列…我试图将代码放在表组件的细节部分,但失败了…你能给出一些想法吗?再次非常感谢!!单击“报表检查器”中的“详细信息”栏时,“属性”菜单应显示“打印时间”表达式属性。您将在此处粘贴:${Year}.intValue!=2009对不起,我没有注意到Table组件的使用。稍后我会尝试更新我的答案。你也许应该把这两个问题分成两个不同的问题,因为它们之间没有密切的联系,除非你需要在报告中同时提出这两个问题。谢谢你的回答。我成功地完成了连接部分。但我仍然坚持在表达式部分打印时…正如我所说的,这是表格组件,而不是报表详细栏…因此我在表格组件详细栏中找不到任何打印时表达式。我唯一发现的是列打印,但它对我的情况没有用处,它将消失一整列…我试图将代码放在表组件的细节部分,但失败了…你能给出一些想法吗?再次非常感谢!!单击“报表检查器”中的“详细信息”栏时,“属性”菜单应显示“打印时间”表达式属性。您将在此处粘贴:${Year}.intValue!=2009对不起,我没有注意到Table组件的使用。稍后我会尝试更新我的答案。你也许应该把这两个问题分成两个不同的问题,因为它们没有密切的关系,除非你在报告中需要这两个问题。