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

用虚线在Jaspersoft studio中创建目录

越学博
2023-03-14

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

首先:有半个点可以看到,这取决于字段中文本的长度

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

<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 需要,并且点应与文本字段中的第二行对齐,并且字符 g 后面的点被剪切。

共有1个答案

黄正浩
2023-03-14

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

  • 所有文本元素的垂直对齐设置为底部
  • “虚线”staticText和“页面索引”textField元素的streatType设置为ContainerBottom

如此:

<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>

注意:

  • 您可能仍然会遇到“剪切”点,因为文本元素重叠。我想不出一种不同的方法。
  • 我通过删除样式并调整元素的高度以正确对齐来调整您的代码。
 类似资料:
  • 我正在使用Win7和我所有的asp。net应用程序正在端口80上运行 我有WAMP安装在c:\wamp和我的php项目文件夹下c:\wamp\www\作为投影1,投影2等, 现在,我尝试使用以下步骤创建虚拟主机 1)编辑主机文件并添加如下 2)打开文件"httpd.conf"在"C:/wamp/bin/apache/Apache2.2.22/conf/"和取消注释行"包括conf/额外的/http

  • 问题内容: 对于我的用例,我想在内存目录中存储一些文件,时间很短。实际上,我在运行时将源代码编译为文件,并进行类加载和执行。干净的方法是创建一个虚拟目录,然后让编译器在其中创建.class文件。当然我 可以 使用一个临时目录,但是在编译之前我必须先清理它,我不知道我是否是唯一使用它的人,依此类推。 那么,在内存中,用Java创建虚拟目录是否可行? 问题答案: 在Java 6中,实际上不可能在Jav

  • 我使用的是MySQL数据库。我有两张桌子,一张桌子和二张桌子。表1中有一个复合主键。表2中有一个复合外键,它引用了表1中的复合主键。 我遇到的问题如下所示: 表1 |------------PK-----------| menuid 我可以在表2中创建一个引用表1中一个错误条目的条目: 表2 |------------FK-----------| 现在,这不是一个大问题,因为我可以将有效值插入数据

  • 问题内容: 我是9年级的新学生,学习 敏捷 ,创建了一个学校项目。 我正在尝试创建一个目录,要将扫描的文件保存为pdf格式。 创建目录时,出现以下错误。 错误1: 无法在属性初始化程序中使用实例成员’filemgr’;属性初始化程序在“自我”可用之前运行。 错误2: 预期申报 码: 请协助我解决这个问题。 谢谢。 问题答案: 请使用以下代码: Swift 4.0 和 Swift 3.0

  • 我正在尝试创建一个脚本,以便在动态创建一个新文件夹中执行假脱机操作这是我的代码 并且它给出了无法创建假脱机文件C:\Users\rjen01\Desktop\MAR\21MAR2017\U 1227的错误。csv 这是因为没有文件夹C:\Users\rjen01\Desktop\MAR。所以如何在spool命令中动态创建新文件夹。

  • 创建一台 Linux 系统的虚拟机,Linux 系统的类型选择的是 CentOS 7.x 。 创建项目 每个项目都在各自的文件夹里,你可以为每个项目单独去创建虚拟机。打开命令行工具,先为项目创建一个文件夹: cd ~/desktop mkdir awesome-project cd awesome-project 上面执行的命令就是在命令行下面,先进入到当前登录用户的桌面(desktop)上,在