如何在jasper报告中水平地将表中的值打印到一个值?

时间:2016-04-25 12:00:21

标签: jasper-reports crosstab

我有来自DB的数据如下。

Subject                         Mark   Grade
---------
COMPUTER SCIENCE               88.00 A2   
TAMIL                          88.00 A2   
HINDI                          55.00 C1   
MATHS                          54.00 C1   
SCIENCE                        77.00 B1   
ENGLISH                        45.00 C2   

使用Jasper报告我必须像这样打印:

Subject     COMPUTER SCIENCE   Tamil    HINDI    MATHS   SCIENCE   ENGLISH
GRADE           A2              A2       C1       C1       B1        C2

我把所有东西放在细节中,但它打印得像这样

Subject     COMPUTER SCIENCE   COMPUTER SCIENCE     COMPUTER SCIENCE  
GRADE           A2                    A2                  A2                              

对所有主题重复相同,因此它为所有主题打印6次到单独的细节带,但我希望它是

Subject     COMPUTER SCIENCE     TAMIL    HINDI                                    
GRADE           A2                 A2     C1

请提出一些建议?我已尝试过列计数,报告计数,表达式,但没有结果

1 个答案:

答案 0 :(得分:1)

这是使用交叉表实现的,在您的示例中没有rowGroup因此我们需要在固定字符串rowGroup上生成虚拟"Grade"columnGroup在{ {1}}

示例

$F{Subject}

<强>结果

Output