帆软报表自定义分页傻瓜式学习

本文详细介绍了帆软报表中自定义首页、上一页、下一页、末页的实现步骤,包括统一设置模板参数、Excel隐藏值设置、总页数计算、SQL分页查询及填报页面Web属性配置等,帮助读者快速掌握这一功能。

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

帆软自定义首页、上一页、下一页、末页操作说明

帆软自定义的首页、上一页、下一页、末页,必须要在填报页面设置里进行自定义添加按钮操作以及自定义事件。

统一设置模板参数

page:第几页,默认第一页
amount:每页多少条,默认每页二十条

在这里插入图片描述

Excel中设置影藏值

在这里插入图片描述

Excel中的总页数

select ceil(count(*
### 帆软报表工具连接Oracle数据库实现自定义分页帆软报表工具中,当使用Oracle数据库作为数据源时,可以通过特定的SQL语句来实现高效的分页查询。由于Oracle支持`ROWNUM`伪列,这使得编写分页查询变得相对简单。 #### 使用ROWNUM实现基本分页查询 为了获取指定范围内的记录,在构建SQL查询时可以利用子查询的方式结合`ROWNUM`来限定返回的结果集: ```sql SELECT * FROM ( SELECT a.*, ROWNUM rnum FROM ( SELECT * FROM table_name ORDER BY some_column ) a WHERE ROWNUM <= :endRow ) WHERE rnum >= :startRow; ``` 这里`:startRow`表示起始行号,`:endRow`表示结束行号[^1]。 #### 结合参数化查询优化性能 为了避免全表扫描带来的性能问题,建议采用绑定变量的方式来传递分页所需的参数值,并确保索引的有效性以提高查询效率。例如: ```java String sql = "SELECT * FROM (" + "SELECT a.*, ROWNUM AS rn " + "FROM (SELECT * FROM employees ORDER BY employee_id) a " + "WHERE ROWNUM <= ?)" + "WHERE rn > ?"; // 设置参数并执行查询... PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setInt(1, endRow); pstmt.setInt(2, startRow); ResultSet rs = pstmt.executeQuery(); ``` 通过这种方式可以在Java应用程序或其他编程环境中灵活控制每一页显示的数据量。 #### 利用存储过程简化复杂逻辑 如果业务场景较为复杂,则可考虑创建PL/SQL存储过程封装分页逻辑,从而减少重复编码工作量的同时也便于维护管理。下面是一个简单的例子: ```plsql CREATE OR REPLACE PROCEDURE get_paged_data( p_start_row IN NUMBER, p_end_row IN NUMBER, cur OUT SYS_REFCURSOR ) IS BEGIN OPEN cur FOR WITH ranked_data AS ( SELECT t.*, ROW_NUMBER() OVER (ORDER BY id ASC) row_num FROM your_table t ) SELECT * FROM ranked_data rd WHERE rd.row_num BETWEEN p_start_row AND p_end_row; END; / ``` 调用此存储过程即可轻松完成基于给定区间的数据检索操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胤墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值