超链接在整个报表碧玉报告(Hyperlink in jasper reports across su

2019-09-18 00:46发布

我要添加超链接到我的报告。 在一个报告中设定的超级链接应该带我到另一个子报表。 你能告诉我,如果这是可行的。 如果是,你可以请提供循序渐进的方式来实现这一目标?

Answer 1:

首先,是的,这是可行的。

其次,这里是你的一步一步的说明:

  1. 右键点击你要插入链接,选择超链接元素。
  2. 选择超链接的目标:空白
  3. 选择超链接类型:参考
  4. 在基准选项卡,键入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 =”
  5. 在工具提示选项卡(可选)添加工具提示。 注意:您可以在工具提示中引用变量,并放慢参数值。

请注意,有其他方法可以做到这一点,如果你不使用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