【发布时间】:2012-06-06 10:49:06
【问题描述】:
我正在使用 iReport 4.1.3。我已经创建了发票报告,我想要 3 份相同的发票报告。第一张发票上应标有“ORIGINAL”标签,第二张发票上应标有“DUPLICATE”,第三张发票上应标有“TRIPLICATE”标签。
谢谢。
【问题讨论】:
-
您可以将标签(值“ORIGINAL”或其他)作为参数传递并显示在textField
我正在使用 iReport 4.1.3。我已经创建了发票报告,我想要 3 份相同的发票报告。第一张发票上应标有“ORIGINAL”标签,第二张发票上应标有“DUPLICATE”,第三张发票上应标有“TRIPLICATE”标签。
谢谢。
【问题讨论】:
如果您希望每次打开报表时都显示所有三个副本,如果不是优雅的解决方案,这是一个有创意的解决方案。
在返回三个不同副本的查询的 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 子句中添加“序列”。
然后在报告中,按“复制”字段分组。强制为每个组创建一个新页面,您应该已经准备就绪。您在报告级别汇总的任何变量都需要更改为组级别(“复制”组)。如果您在“摘要”部分中有任何控件,请将它们移动到新的组页脚部分。还要创建一个文本字段以在页面或组标题中显示“复制”字段。
它不一定漂亮,但它应该可以工作。
【讨论】: