我正在使用iReport v3.7.6和JasperReports,我请求创建一个表格,其中第一列用于对表格其余部分中显示的问题和答案进行分区/分类。请求的输出示例:
编辑:对于那些无法查看图像的人,它是一个包含字段“上下文”、“问题”和“答案”的 3 列表。每组 Question 和 Answer 属于一个单独的 Context,它充当该集合的一个类别,而 Context 可以充当多个 Question 和 Answer 集合的一个类别。请求是它看起来像这样:
_________________________________
| Context1 | Question1 | Answer1 |
| |___________|_________|
| | Question2 | Answer2 |
| |___________|_________|
| | Question3 | Answer3 |
| |___________|_________|
| | Question4 | Answer4 |
|__________|___________|_________|
| Context2 | Question5 | Answer5 |
| |___________|_________|
| | Question6 | Answer6 |
|__________|___________|_________|
我知道我可以将iReport设置为不打印重复值,这解决了我不在每一行上打印 Context 的部分问题,但我的问题的第二部分是在整个 Context 字段周围放置一个单元格边框,使其看起来像上面的例子,也就是说,它看起来像一个动态扩展的字段,涵盖了 N 行。如果我在报表的详细信息带中围绕上下文放置一个边框,那么我会在表格中获得永远行的边框,从而导致上下文列中有许多空单元格。使用iReport 3.7.6可以进行这种格式设置吗?是否可以在“上下文”字段上进行分组并以某种方式在整个组周围放置边框?
由于每个上下文类别的问题数量是已知的,因此可以在我的数据集中使用标志并有条件地围绕上下文字段设置样式(例如,将标志设置为“top”用于组中的第一个记录,将“last”设置为组中的最后一个记录和根据标志设置框架的边框以显示顶部或底部边框),但这似乎是处理问题的一种非常混乱的方式。另外,一旦删除/添加问题,绷带就会破裂。
另一个想法是创建一个单独生成每个上下文的子报表,在整个子报表周围放置边框,并将结果组合到主报表的详细信息带中,但这似乎是一个简单问题的复杂解决方案。