0

我正在使用iReport 4.1.3。我已经创建了发票报告,我想要 3 份相同的发票报告。第一张发票上应标有“ORIGINAL”标签,第二张发票上应标有“DUPLICATE”,第三张发票上应标有“TRIPLICATE”标签。

谢谢你。

4

1 回答 1

3

如果您想在每次打开报告时都显示所有三个副本,如果不是优雅的解决方案,这是一个有创意的解决方案。

向返回三个不同副本的查询的 FROM 子句添加交叉连接。在 MySQL 中,它看起来像这样:

CROSS JOIN
(
Select 'ORIGINAL' as copy, 1 as sequence
UNION
SELECT 'DUPLICATE' as copy, 2 as sequence
UNION
SELECT 'TRIPLICATE' as copy, 3 as sequence
) x

然后将“复制”字段添加到您的选择语句中。这将导致您的查询为之前返回的每条记录返回 3 条记录。一条记录在复制字段中带有“ORIGINAL”,一条带有“DUPLICATE”,一条带有“TRIPLICATE”。在您的 ORDER BY 子句中添加“序列”。

然后在报告中,按“复制”字段分组。强制为每个组创建一个新页面,您应该已经准备就绪。您在报告级别汇总的任何变量都需要更改为组级别(“复制”组)。如果您在“摘要”部分中有任何控件,请将它们移动到新的组页脚部分。还要创建一个文本字段以在页面或组标题中显示“复制”字段。

它不一定漂亮,但它应该工作。

于 2012-06-06T17:49:31.967 回答