gpt4 book ai didi

jasper-reports - 在 Jaspersoft Studio 中用虚线创建 TOC

转载 作者:行者123 更新时间:2023-12-04 03:07:39 33 4
gpt4 key购买 nike

我正在尝试在 jasper studio 6.4.3 中创建我的目录。它必须是一个带点的目录,这意味着我需要用点填充标签文本字段和页码文本之间的空间。我当时的解决方案有两个问题。

第一:可以看到半个点,具体取决于字段中文本的长度

二:拉伸(stretch)后我无法将点和页码字段与标签对齐。
点的解决方案是,在两个文本字段后面都有一个静态文本字段,并将文本字段背景设置为 with,以覆盖文本后面的点。

enter image description here

<band height="31" splitType="Stretch">
<property name="local_mesure_unitheight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<printWhenExpression><![CDATA[$F{level} == 1]]></printWhenExpression>
<staticText>
<reportElement style="InhaltsverzeichnisPunkte" mode="Transparent" x="0" y="1" width="440" height="18" uuid="b08b479c-10a8-4d87-8507-4f32fd50004f"/>
<text><![CDATA[. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .]]></text>
</staticText>
<textField isStretchWithOverflow="true">
<reportElement style="InhaltsverzeichnisPunkte" x="396" y="1" width="45" height="18" uuid="bc43bd36-7466-457c-95e6-384410c05cbe"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA["<style backcolor='white'>"+($V{PAGE_NUMBER} + $F{pageIndex} + 3)+"</style>"]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" hyperlinkType="LocalAnchor">
<reportElement style="Formatvorlage Standard (kleiner) + 10 Pt." mode="Transparent" x="0" y="3" width="396" height="15" uuid="b19a02f7-3d3f-4086-86ed-5dc6859e5fd1"/>
<textElement textAlignment="Left" markup="styled"/>
<textFieldExpression><![CDATA["<style backcolor='white'>"+$F{label}+"</style>"]]></textFieldExpression>
<hyperlinkAnchorExpression><![CDATA[$F{label}]]></hyperlinkAnchorExpression>
</textField>
</band>

正如您在图片中看到的那样,页码 6 需要并且点应该与文本字段中的第二行对齐,字符 之后的点克被切断。

最佳答案

您几乎可以通过以下方式实现您想要的:

  • verticalAlignment设置为 Bottom对于您的所有文本元素
  • stretchType设置为 ContainerBottom对于'dotted' staticText 和'page index' textField 元素

  • 像这样:
    <band height="39" splitType="Stretch">
    <staticText>
    <reportElement stretchType="ContainerBottom" mode="Transparent" x="0" y="1" width="440" height="18" uuid="b08b479c-10a8-4d87-8507-4f32fd50004f"/>
    <textElement verticalAlignment="Bottom"/>
    <text><![CDATA[. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .]]></text>
    </staticText>
    <textField isStretchWithOverflow="true">
    <reportElement stretchType="ContainerBottom" x="396" y="1" width="45" height="18" uuid="bc43bd36-7466-457c-95e6-384410c05cbe"/>
    <textElement textAlignment="Right" verticalAlignment="Bottom" markup="styled"/>
    <textFieldExpression><![CDATA["<style backcolor='white'>"+($V{PAGE_NUMBER} + $F{pageIndex} + 3)+"</style>"]]></textFieldExpression>
    </textField>
    <textField isStretchWithOverflow="true" hyperlinkType="LocalAnchor">
    <reportElement mode="Transparent" x="0" y="3" width="396" height="16" uuid="b19a02f7-3d3f-4086-86ed-5dc6859e5fd1">
    <property name="com.jaspersoft.studio.unit.height" value="px"/>
    </reportElement>
    <textElement textAlignment="Left" verticalAlignment="Bottom" markup="styled"/>
    <textFieldExpression><![CDATA["<style backcolor='white'>"+$F{label}+"</style>"]]></textFieldExpression>
    <hyperlinkAnchorExpression><![CDATA[$F{label}]]></hyperlinkAnchorExpression>
    </textField>

    输出:
    enter image description here

    笔记:
  • 由于文本元素重叠,您可能仍会遇到“剪切”点。我想不出另一种方法来解决这个问题。
  • 我已经通过删除样式并调整元素的高度以正确对齐来调整您的代码。
  • 关于jasper-reports - 在 Jaspersoft Studio 中用虚线创建 TOC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47669886/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com