皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 929|回复: 2

皕杰报表自定义工具条翻页按钮

[复制链接]
回帖奖励 10 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次
发表于 2019-2-28 11:40:49 | 显示全部楼层 |阅读模式
本帖最后由 bijetsupport02 于 2019-2-28 17:07 编辑

1.需求
当皕杰报表web端展示的时候,如果只有一页数据,我想让工具条上的翻页按钮不显示。
2.解决方案
这个需求可以根据我们皕杰报表提供的api写自定义工具条按钮来实现。
① 参考帮助文档-开发指南-javadoc-bios.report.api.factory-ToolbarButtonFactory这个类重写replacePaginateArea这个方法。
② 将这个自定义工具条按钮类打成jar包放到皕杰报表环境web应用下/WEB-INF/lib文件夹下(或者如果是class文件放到web应用下/WEB-INF/classes)。
③ 然后修改皕杰报表环境web应用下WEB-INF\resources\report-config.xml里的<toolbarButtonFactory></toolbarButtonFactory>节点值,节点值是包名.类名(package.class,demo.factory.MyToolbarBtnFactory)
 楼主| 发表于 2019-2-28 11:45:37 | 显示全部楼层

  1. <userDef>
  2.   <!-- <reportFactory></reportFactory> -->  <!-- 报表工厂,用于自定义报表加载和计算等 -->
  3.   <!-- <dataSourceFactory></dataSourceFactory>-->  <!-- 自定义数据源工厂,用于通过自定义的方式获取报表数据源 -->
  4.   <!-- <toolbarFactory></toolbarFactory> -->  <!-- 工具条工厂,用于自定义html工具条  -->
  5.    <toolbarButtonFactory>demo.factory.MyToolbarBtnFactory</toolbarButtonFactory>  <!-- 工具条按钮工厂,用于替换html工具条上的一些按钮  -->
  6.   <!-- <printEventListener></printEventListener> -->  <!-- 打印事件监听器 -->
  7.   <!-- <fillinEventListener></fillinEventListener> -->  <!-- 填报事件监听器 -->
  8.   <!-- <exportEventListener></exportEventListener> -->  <!-- 报表导出事件监听器 -->
  9.   <!-- <reportLogHandler></reportLogHandler> -->  <!-- 自定义报表日志输出处理器,在报表系统日志的基础上,增加其他日志记录方式 -->
  10. </userDef>
复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-28 11:47:31 | 显示全部楼层
3.代码示例
  1. package demo.factory;
  2. import bios.report.api.factory.ToolbarButtonFactory;
  3. public class MyToolbarBtnFactory extends ToolbarButtonFactory{
  4.         /**
  5.          * 重载父类方法,替换翻页区域的按钮
  6.          */
  7.         @Override
  8.         public String replacePaginateArea() {
  9.                 /* 从toolbarInfo变量中获取相关数据,自定义翻页处理
  10.                  * toolbarInfo.getPageCount()获取当前报表的总页数
  11.                 */
  12.                 int pageCount = toolbarInfo.getPageCount();
  13.                 if(pageCount==1) {
  14.                         //返回一个空格,屏蔽了工具条上的翻页按钮区域
  15.                         return "&nbsp;";
  16.                        
  17.                 }else {
  18.                         //返回null时表示使用默认按钮
  19.                         return null;
  20.                 }               
  21.         }
  22. }
复制代码

4.示例效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-3-29 20:12 , Processed in 1.118997 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表