当前位置: 首页 > 知识库问答 >
问题:

如何创建在段落文本之间有字段的报表?

萧琛
2023-03-14

在所示的报告中,黑色的文本是静态的,红色的文本是将由Java动态替换为某些值的字段。

在上图中,第1行和第2行我没有问题。

但对于这一段,我不知道该用什么?我应该使用静态文本框还是文本字段?如果我使用部分静态文本框和部分动态,它变得笨拙和难以保持行间距。

因此,请建议如何在jasper studio 5.6中设计以下报告。

共有1个答案

甘君之
2023-03-14

使用textfield,然后在文本上进行字符串连接,当需要编号格式时,使用NumberFormat API或DecimalFormat API

如果需要换行,请设置粗体文本。您可以通过在TextElement上设置markup=“html”来使用html实现此功能

<?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="test" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="0ef33a9d-fd2b-46cc-9ec4-c6906db8097b">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="testNumber" class="java.lang.Double" isForPrompting="false">
        <defaultValueExpression><![CDATA[new Double(10000.23445)]]></defaultValueExpression>
    </parameter>
    <title>
        <band height="57" splitType="Stretch">
            <textField>
                <reportElement x="0" y="0" width="373" height="57" uuid="2f795f8a-43fa-4b89-a173-76854a13ba48"/>
                <textElement markup="html"/>
                <textFieldExpression><![CDATA["Just use a textField and string concat the other text a " + java.text.NumberFormat.getNumberInstance().format($P{testNumber}) + " as you see you can even format it and remeber if you set as html you can <br/> break line and <b>bold</b> text"]]></textFieldExpression>
            </textField>
        </band>
    </title>
</jasperReport>
 类似资料:
  • 我试图设置一些段落或文本在. docx文件使用Apache POI,我正在读取一个. docx文件作为模板从WEB-INF/资源/模板文件夹内我的战争文件,一旦读取,我想创建动态更多的表后,第9表用作模板,我可以添加更多的表格,但其他类型的内容(段落)被安排在文档的其他部分?有必要的形式来做这件事吗?

  • 有一个区块是这样的: 我想在“你好”之间设置空白点。还有“你好吗?”为16px,但 和其内部 边框之间的边距为0px。 匿名用户 我想这能帮到你。 null

  • 非常感谢!

  • 问题内容: 我有一个最大字符范围为16的字符,每4个字符后,我要添加一个负字符或空格,然后编写其余的字符,例如本示例5022-2222-2222-2222。有我的代码,但是那不起作用,该怎么办? 我在 范围方法中添加此代码。 问题答案: 我们可以从实现oisdk:s SwiftSequence 方法的(版本号)的Swift 3版本开始: 在这种情况下,实现自定义格式是创建4个字符的块并将其通过“-

  • 我想调整子报表文本字段的大小(在包括到主报表之前),就像最高主报表的文本字段一样。 如您所见,子报表的文本字段的高度不相等。

  • 我如何用材料组件做到这一点? 我不想在边框之间有这样的标签:(当你有多个填充字段时,这看起来不再好看了,在我看来,所有中断的边框都很紧张)