gpt4 book ai didi

jasper-reports - 获取 Jasper Reports 表中第一行和最后一行的第一个字母

转载 作者:行者123 更新时间:2023-12-03 22:42:45 25 4
gpt4 key购买 nike

我在 Eclipse 中使用 JasperSoft Studio 为教堂生成注册表。页眉具有页面上姓氏的标签。因此,如果页面以 A 开头,以 D 结尾,则第 1 页将有 A-D。enter image description here

对于如此简单的任务来说,这变得非常复杂。我只想读取每个页面的第一行和最后一行中的last_name字段是什么,取它的第一个字母,然后将其粘贴在标题中。

欢迎任何想法,我很难过。

最佳答案

要获取页面中字段的第一个和最后一个值,请使用 变量 重置类型 并设置正确的 评估时间 textField (您将需要使用 2 个 textField 将它们一个挨一个地正确对齐)

此示例将展示如何获取 第一 最后 字段值 $F{Last_Name}每页

页面中字段的第一个值

重置类型 您的变量将是 resetType="None"

<variable name="firstValueOnPage" class="java.lang.String" resetType="None">
<variableExpression><![CDATA[$F{Last_Name}]]></variableExpression>
</variable>

并在 textField , 使用带有 evalution="Now" 的变量(这是默认的所以不需要标签)
<textField>
<reportElement x="30" y="19" width="100" height="20" uuid="e6421031-6db7-4fd9-995f-94cef2eb3621"/>
<textFieldExpression><![CDATA[$V{firstValueOnPage}]]></textFieldExpression>
</textField>

页面中字段的最后一个值

重置类型 你的变量是 resetType="Page"
<variable name="lastValueOnPage" class="java.lang.String" resetType="Page">
<variableExpression><![CDATA[$F{Last_Name}]]></variableExpression>
</variable>

并在 textField 中使用变量 evaluationTime="Page"
<textField evaluationTime="Page">
<reportElement x="170" y="19" width="100" height="20" uuid="9100baa5-0095-4dc3-ac79-2cd87562a92d"/>
<textFieldExpression><![CDATA[$V{lastValueOnPage}]]></textFieldExpression>
</textField>

要仅获取第一个和最后一个值的第一个字符,我看到您已经弄清楚了,但是要完成答案,textFieldExpression 将是
<textFieldExpression><![CDATA[($V{firstValueOnPage}!=null&&$V{firstValueOnPage}.length()>0)?String.valueOf($V{firstValueOnPage}.charAt(0)).toUpperCase():""]]></textFieldExpression>

现在只需将两个 textField 彼此相邻(正确对齐它们),您将获得所需的结果。

一些附加信息以了解有关 的更多信息重置类型 评估时间 (来自 jasper report api 6.2.0)

重置类型

None - The variable is incremented with every record during the iteration through the data source Report - The variable never gets incremented during the report filling process.
Page - The variable is incremented with each new page.
Column - The variable is incremented with each new column.
Group - The variable is incremented every time the group specified by the incrementGroup attributes breaks



评估时间

Auto Evaluation time indicating that each variable participating in the expression should be evaluated at a time decided by the engine.
Band The element will be evaluated at band end.
Column A constant specifying that an expression should be evaluated after each column is filled. Group A constant specifying that an expression should be evaluated after each group break.
Master Used for elements that are evaluated at the moment the master report ends.
Now A constant specifying that an expression should be evaluated at the exact moment in the filling process when it is encountered.
Page A constant specifying that an expression should be evaluated after each page is filled.
Report A constant specifying that an expression should be evaluated at the end of the filling process.

关于jasper-reports - 获取 Jasper Reports 表中第一行和最后一行的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34010529/

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