Jasper Reports新行

4

我是Jasper Reports的新手。我在NetBeans中使用iReport 4.5。我需要创建一些文本并将新变量插入到文本中。所有工作都可以,但无法创建新行。请告诉我如何解决?谢谢!

`<?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="jasper_report_template" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="40" rightMargin="40" topMargin="50" bottomMargin="50">
    <property name="ireport.zoom" value="1.3310000000000004"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="ReportTitle" class="java.lang.String"/>
    <parameter name="Author" class="java.lang.String"/>
    <queryString>
        <![CDATA[]]>
    </queryString>
    <field name="country" class="java.lang.String">
        <fieldDescription><![CDATA[country]]></fieldDescription>
    </field>
    <field name="name" class="java.lang.String">
        <fieldDescription><![CDATA[name]]></fieldDescription>
    </field>
    <title>
        <band height="240" splitType="Stretch">
            <textField isBlankWhenNull="true" bookmarkLevel="1">
                <reportElement x="0" y="0" width="515" height="27"/>
                <textElement textAlignment="Center">
                    <font size="10" pdfEncoding="Cp1251"/>
                </textElement>
                <textFieldExpression>
                <![CDATA["Some text "+ $P{ReportTitle} +" my name +"<br/>"+ is "]]>
                </textFieldExpression>
                <anchorNameExpression><![CDATA["Title"]]></anchorNameExpression>
            </textField>
        </band>
    </title>
    <columnHeader>
        <band height="24" splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="21" splitType="Stretch"/>
    </detail>
</jasperReport>`

谢谢Avanz的帮助!我解决了这个问题,我必须在textElement标签中使用markup="styled"!之后,<br/>就可以正常工作了! - Alex85
可能是如何在Jasper报表中添加段落后添加换行符的重复问题。 - Alex K
3个回答

6

OlliZi的答案在参数包含<br>时无效,Kamel的答案在不使用相同的iReport版本时无效...所以这是在.jrxml文件中通用的答案。

在使用的样式或reportElement中添加markup="html",无需使用特定的编辑器。非常有用以快速修复并提高兼容性。

<textField>
    <reportElement x="0" y="0" width="100" height="50" markup="html" />
    <textFieldExpression>
        <![CDATA["Some text "+ $P{ReportTitle} +" my name +"<br/>"+ is "]]>
    </textFieldExpression>
</textField>

或者,如果您使用样式:

<style name="myStyle" markup="html" />

<textField>
    <reportElement x="0" y="0" width="100" height="50" style="myStyle" />
    <textFieldExpression>
        <![CDATA["Some text "+ $P{ReportTitle} +" my name +"<br/>"+ is "]]>
    </textFieldExpression>
</textField>

5

您还可以使用以下字符串:

"Some text " + $P{ReportTitle} + " my name " + "\n" + " is ".

或者更简短一些:

"Some text " + $P{ReportTitle} + " my name \n is ".

0
将Markup属性设置为html,并使您的字符串如下:
"Some text " + $P{ReportTitle} + " my name " + "<br>" + " is ".

将 Stretch 的 overflow 属性设置为 true


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接