如何在jasper报告中添加按钮?

时间:2016-01-08 09:28:42

标签: jasper-reports

是否可以在报告中添加一个按钮,哪个动作将被修复?

示例:按钮“查看”,将显示更详细的统计信息。

Example button

注释:

我不完全理解如何制作文本元素的按钮

1 个答案:

答案 0 :(得分:1)

要创建按钮,请使用textFieldhyperlinkType="Reference"

创建hyperlinkReferenceExpression

示例

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="JddButton" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2a88eaae-fbef-4a3d-b8bf-0b12bafc985b">
<title>
    <band height="80" splitType="Stretch">
        <textField hyperlinkType="Reference" hyperlinkTarget="Blank">
            <reportElement mode="Opaque" x="150" y="20" width="200" height="40" forecolor="#FFFFFF" backcolor="#009900" uuid="822deecb-059b-4921-bfb7-07ee7cbde26a">
                <property name="net.sf.jasperreports.export.html.class" value="btn"/>
                <property name="net.sf.jasperreports.export.html.id" value="idBtn"/>
            </reportElement>
            <textElement textAlignment="Center" verticalAlignment="Middle">
                <font size="24"/>
            </textElement>
            <textFieldExpression><![CDATA["VIEW"]]></textFieldExpression>
            <anchorNameExpression><![CDATA["myButton"]]></anchorNameExpression>
            <hyperlinkReferenceExpression><![CDATA["https://stackoverflow.com/users/5292302/petter-friberg"]]></hyperlinkReferenceExpression>
            <hyperlinkTooltipExpression><![CDATA["Click to view"]]></hyperlinkTooltipExpression>
        </textField>
    </band>
</title>
</jasperReport>

会生成

Result

点击它会引导您转到hyperlinkReferenceExpression的值,例如我也设置了hyperlinkTarget="Blank",因此它会在新页面中打开。

有关属性的其他信息,请参阅JRHyperLink API

嘿我希望我的按钮在我越过它时改变颜色....

没问题,(只要导出是html,在pdf中你需要用注释做一些技巧但是我会把它留下来......)。

我在textElement上添加了一些css标签,请参阅reportElement

下的属性

所以一些简单的CSS。

<style type="text/css">
    a {text-decoration: none}
    td.btn:hover {
        background-color: yellow !Important;
    }
</style>

最后,如何将此css放在输出文件中?

Export custom HTML template

How to add css to jasper report server