Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasper reports 如何连接字段的第一个值和最后一个值,并在IReport的表组页脚中隐藏特定记录_Jasper Reports_Ireport_Tabular - Fatal编程技术网

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组件的使用。稍后我会尝试更新我的答案。你也许应该把这两个问题分成两个不同的问题,因为它们没有密切的关系,除非你在报告中需要这两个问题。