FineReport V8.0插件开发系列之自定义预览方式

我是社区第128位番薯,欢迎点我头像关注我哦~
    FineReport设计器默认提供了3种预览方式,分别是分页预览、填报预览、以及分析预览,如图所示 Snip20150319_3.png 大部分情况这三种预览方式都可以满足用户需求了,但是在一些特殊的情况,比如我在预览的时候希望不分页,如果采用默认的预览按钮,就只能预览以后再在url里面加上参数 __bypagesize=false 来实现,相对来说,这种方式操作比较麻烦。
    那么有没有比较简单的方式呢,答案当然是有的。
    通过使用FineReport V8.0的插件机制,可以在添加全新的预览方式,在安装了插件以后,效果如下,点击 不分页预览这一项,就可以在预览的时候自动在url后面加上参数 __bypagesize=false了
源代码:自定义预览方式源码
Snip20150319_2.png


xml配置文件
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?><plugin>
  2.     <id>com.fr.plugin.preview.pagenotpage</id>
  3.     <name><![CDATA[带参数的分页预览]]></name>
  4.     <active>yes</active>
  5.     <version>1.0</version>
  6.     <env-version>8.0</env-version>
  7.     <vendor>finereport</vendor>
  8.     <description><![CDATA[普通的分页预览是会自动分页的,而使用改插件后,将会新增加一种预览方式:以不分页的方式进行分页预览]]></description>
  9.     <change-notes><![CDATA[无]]></change-notes>
  10.     <extra-core/>
  11.     <extra-report/>
  12.     <extra-designer>
  13.         <PreviewProvider class="com.fr.plugin.preview.PageNoByPagePreview"/>
  14.     </extra-designer>
  15. </plugin>
复制代码
主要实现的接口类
  1. package com.fr.design.fun;

  2. import com.fr.design.mainframe.JTemplate;

  3. import java.util.Map;

  4. /**
  5. * @author richie
  6. * @date 2015-03-19
  7. * @since 8.0
  8. * 自定义预览方式接口
  9. */
  10. public interface PreviewProvider {

  11.     public static final String MARK_STRING = "PreviewProvider";

  12.     /**
  13.      * 下拉弹出菜单的名字
  14.      * @return 弹出菜单名字
  15.      */
  16.     public String nameForPopupItem();

  17.     /**
  18.      * 下拉弹出菜单的图标路径
  19.      * @return 图标路径
  20.      */
  21.     public String iconPathForPopupItem();

  22.     /**
  23.      * 大图标路径
  24.      * @return 大图标路径
  25.      */
  26.     public String iconPathForLarge();

  27.     /**
  28.      * 点击下拉菜单时触发的事件
  29.      */
  30.     public void onClick(JTemplate<?, ?> jt);

  31.     /**
  32.      * 用于标记预览类型的整数
  33.      * @return 预览类型
  34.      */
  35.     public int previewTypeCode();

  36.     /**
  37.      * 该种预览方式所携带的默认参数集合
  38.      * @return 参数集合
  39.      */
  40.     public Map<String, Object> parametersForPreview();

  41. }
复制代码


参与人数 +1 F币 +20 理由
传说哥 + 20 赞一个!

查看全部评分

发表于 2015-3-19 12:40:33
好快的速度{:8_209:}
发表于 2015-3-19 12:44:40
楼主真乃神人也
发表于 2015-3-19 12:51:42
确实不错啊,牛叉啊 。
发表于 2015-3-19 12:55:16
{:5_133:}{:5_133:},牛!
发表于 2015-3-19 13:32:52
真是牛人,这个是插件吗??到时候正式版的话,会提供下载吗
发表于 2015-3-19 13:42:12
好的,大神威武,坐等你们的正式版
发表于 2015-3-19 13:46:31
有了插件功能后的FR,更加如虎添翼了{:8_209:}
发表于 2015-3-19 19:26:55
{:5_128:}
谢谢分享,哪有8.0版下载
发表于 2015-3-20 09:38:43
{:8_200:}{:8_198:}
发表于 2015-3-20 11:12:17
楼主真乃神人也!!!
发表于 2015-8-3 12:44:41
学习中,很有帮助哦!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

14回帖数 1关注人数 6086浏览人数
最后回复于:2015-8-3 12:44

返回顶部 返回列表