ireport 添加行自增序号<转>

本文详细介绍如何在iReport中创建自动增长的序号。通过设置变量表达式$V{index}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如图一所示:在iReport左侧的“ReportInspector”中找到“Variables”项,在其上单击右键,选择“添加variable(A)”,然后在窗体右侧的“variable-属性”中将变量命名为“index

图一

2、如图二所示:变量表达式为$V{index}.valueOf( 1 ),初始值为1

设置变量类型为Integer,计算类型为count;变量表达式为$V{index}.valueOf( 1 ) ;其他都设为默认即可。(无论valueOf里面的值是多少,序号都是从1开始计数)


原文出处:http://hi.baidu.com/lxiangshanyu/item/5ea90047006baadac1a5928a

### 实现 IReport 中的序号合并 在 IReport 报表设计工具中,实现序号合并通常涉及到使用变量来跟踪记录编号以及通过条件表达式控制表格或列表组件中的单元格合并为。 #### 使用变量追踪记录编号 为了生成连续的序号,在报表模板中定义一个新的变量 `rowNum`: ```java new Integer($V{REPORT_COUNT}) ``` 此变量利用内置的 `REPORT_COUNT` 变量自动加计数器[^3]。 #### 控制单元格合并逻辑 对于需要合并相同值的情况(例如按分公司分组),可以在创建子带区时设置打印重复值选项为否,并调整样式属性使视觉上看起来像是被合并了一样。具体操作如下: - **创建分组**:基于要作为合并依据的字段(如“分公司”)建立新的分组。 - **配置文本框属性** - 设置 `Evaluation Time` 属性为 `Group` 并指定相应的分组名称。 - 修改 `Print When Detail Overflows` 和其他相关渲染参数以确保布局美观合理。 #### 动态处理 JSON 数据源 当数据来源于复杂结构化的JSON对象数组时,可能还需要编写自定义脚本来解析并映射到适合JasperReports使用的平面化格式。这可以通过Java类或者直接嵌入JRXML文件内的Scriptlet完成预处理工作。 ```xml <variable name="rowNum" class="java.lang.Integer"> <variableExpression><![CDATA[new Integer($V{REPORT_COUNT})]]></variableExpression> </variable> <!-- 假设 treatyAccList 是一个包含多个条目的集合 --> <textField isBlankWhenNull="true"> <reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="50" height="20"/> <textElement/> <textFieldExpression><![CDATA[$F{treatyAccList}.size() > 0 ? $V{rowNum} : null]]></textFieldExpression> </textField> ``` 上述代码片段展示了如何在一个假设场景下应用这些概念——即存在名为`treatyAccList` 的字段用于存储每一分公司下的多条记录;只有当该列表非空时才会显示对应的行号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值