我要添加超链接到我的报告。 在一个报告中设定的超级链接应该带我到另一个子报表。 你能告诉我,如果这是可行的。 如果是,你可以请提供循序渐进的方式来实现这一目标?
Answer 1:
首先,是的,这是可行的。
其次,这里是你的一步一步的说明:
- 右键点击你要插入链接,选择超链接元素。
- 选择超链接的目标:空白
- 选择超链接类型:参考
- 在基准选项卡,键入URL调用子报表(与参数)。 举例来说,在我的报告一个我称之为ReportController servlet来创建报表,就像这样: “./ReportController?reportName=ValidationDetailsChart&reportTitle=Validation%20Details&nParms=3&parmName_1=ORD_NUMBER&parmValue_1=” + $ F {ORDER_NUMBER} +“&parmName_2 = START_TIME_MS&parmValue_2 =&parmName_3 = END_TIME_MS&parmValue_3 =”
- 在工具提示选项卡(可选)添加工具提示。 注意:您可以在工具提示中引用变量,并放慢参数值。
请注意,有其他方法可以做到这一点,如果你不使用Java和servlet来生成报表的方式可能会有所不同。 我建议在寻找进一步的指示利用iReport文档。
Answer 2:
我得到了解决我的问题。 我没有要求,我必须从一个子报表传递任何值到另一个。 所以,我只需右键点击,我想上的链接文本字段。 余设置的超链接目标为“自我”与超链接类型为“LocalPage”,并在超链接页面表达我设定下列表达式:Integer.valueOf(i),其中i是页号(在我的情况下,它是张数)其中,I要带我的超级链接。 如果你愿意,你也可以使用以下属性:Integer.valueOf($ V {} REPORT_COUNT)。
感谢大家的响应。
Answer 3:
对于报告中的导航我一直在使用超链接和锚实施
下面是一个hyperlinkAnchorExpression文本字段,这将是链接。 注意hyperlinkType = “LocalAnchor”
<textField isStretchWithOverflow="true" hyperlinkType="LocalAnchor">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="80" y="0" width="80" height="20" forecolor="#3286C7" uuid="9a8313d2-21f3-4cd2-8e40-f9cddeb3cdaf"/>
<box topPadding="3" leftPadding="3">
<topPen lineWidth="0.2"/>
<leftPen lineWidth="0.2"/>
<bottomPen lineWidth="0.2"/>
<rightPen lineWidth="0.2"/>
</box>
<textElement>
<font isUnderline="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{cAddress}.getId()]]></textFieldExpression>
<hyperlinkAnchorExpression><![CDATA[$F{cAddress}.getId().toString()]]></hyperlinkAnchorExpression>
</textField>
下面是anchornameexpression,点击超链接和价值观与hyperlinkAnchorExpression值在报告中的任何地方匹配时,这将被调用。
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="80" y="0" width="80" height="20" uuid="9a8313d2-21f3-4cd2-8e40-f9cddeb3cdaf"/>
<box topPadding="3" leftPadding="3">
<topPen lineWidth="0.2"/>
<leftPen lineWidth="0.2"/>
<bottomPen lineWidth="0.2"/>
<rightPen lineWidth="0.2"/>
</box>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
<anchorNameExpression><![CDATA[$F{id}.toString()]]></anchorNameExpression>
</textField>
我已经实现这个跨越的报告和子报表进行导航。 希望这会有所帮助。
文章来源: Hyperlink in jasper reports across subreport