积木报表1.4.4版本在1.4.0稳定版本的基础上解决一系列bug,做了一些重要升级工作,重点稳定健壮功能。例如解决安全漏洞、解决静态资源冲突及添加了一些新功能。

1.解决静态资源加载冲突

使用其他框架的朋友经常会遇到静态资源冲突的问题,此版本重点解决了这个问题。

2.严重安全漏洞修复

当有SQL注入时,提示会有SQL注入风险,如:insert、update、delete、alter、drop等表结构及数据操作均不允许操作。

  • 效果展示

3.支持pdf导出换行

很多朋友反馈亟需pdf导出换行功能,此版本实现了该功能。

4.支持自定义表达式

当现有表达式不满足需求时,我们可以使用自定义表达式来实现。

  • 首选定义表达式
import com.googlecode.aviator.runtime.function.AbstractFunction;
import com.googlecode.aviator.runtime.type.AviatorObject;
import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType;
import org.jeecg.modules.jmreport.desreport.express.ExpressUtil;
import java.util.Map;/*** 定义函数:* 1.定义getName方法,返回一个字符串* 2.如果函数参数个数已知,继承AbstractFunction,重写call方法,call是一个多态方法,参数AviatorObject arg可以传多个* 3.如果函数参数个数未知,继承AbstractVariadicFunction,重写variadicCall方法**/
public class UpcaseFun extends AbstractFunction {@Overridepublic String getName() {return "upCase";}@Overridepublic AviatorObject call(Map<String, Object> env, AviatorObject arg1) {// 参数用此方法获取 数字也这么获取 然后自己转String str = ExpressUtil.getArgString(arg1, env);return AviatorRuntimeJavaType.valueOf(str.toUpperCase());}
}
  • 注册表达式
import com.googlecode.aviator.AviatorEvaluatorInstance;
import org.jeecg.modules.jmreport.desreport.express.IJmExpressCustom;
import org.springframework.stereotype.Component;/*** 注册函数:* 1.添加类注解@Component* 2.实现接口 IJmExpressCustom,重写方法 addFunction* 3.instance.addFunction(fun.getName(), fun);* 4.如果是运算函数(如:加减乘除),调用instance.addOpFunction*/
@Component
public class JmExpressCustomImpl implements IJmExpressCustom {@Overridepublic void addFunction(AviatorEvaluatorInstance instance) {UpcaseFun fun = new UpcaseFun();instance.addFunction(fun.getName(), fun);//OtherFun fun1 = new OtherFun ();//instance.addFunction(fun1.getName(), fun1);}
}
  • 使用表达式

5.同一报表支持多个循环块

  • 5.1 实现效果

6.支持saas配置

此版本支持saas配置;在yaml文件中配置saas为true即可,如下图:

7.预览工具条显示数据总条数

为了更方便的显示数据,在预览工具条中显示数据的总条数。

  • 实现效果

附录 更多体验

  • 体验地址:http://jimureport.com/
  • 文档地址:http://report.jeecg.com/

比excel更好用的免费拖拽报表—JimuReport 1.4.4新特性相关推荐

  1. JimuReport 1.3.7 首个正式版本发布,免费的可视化拖拽报表

    项目介绍 积木报表,一款免费的可视化Web报表工具,像搭建积木一样在线拖拽设计!功能涵盖,数据报表.打印设计.图表报表.大屏设计等! 秉承"简单.易用.专业"的产品理念,极大的降低 ...

  2. 拖拽报表设计香不香—JimuReport 1.4.0新特性

    11月初我们发布了1.4.0里程碑稳定版本,增加了一些新功能包括丰富了查询控件.支持查询JS/CSS增强.支持mongodb.redis.存储过程数据集.支持分组小计.支持图表钻取.条件钻取.支持表格 ...

  3. 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup

    为了吸引大家的注意力,先给大家看一张动图: 相信这种效果大家都见过吧?我第一次见到这样的效果时,心里也痒痒的,急于想实现这种功能,后来因为拖延症的问题,就一直没有去弄这件事.现在这段时间,工作比较轻闲 ...

  4. iview+vue实现表头的拖拽功能

    一.项目需求: 需求:表格实现表头拖拽.排序.树形表格展示.下载Excel.下载CSV格式的数据 项目里用到的技术:iview的table+vue 参考文章:https://www.cnblogs.c ...

  5. 使用sortablejs实现表格拖拽排序

    拖动红色区域可以实现行排序 1.下载 npm install sortablejs --save 2.引用 import Sortable from "sortablejs"; 3 ...

  6. 通过layout实现可拖拽自动排序的UICollectionView

    Translate from http://blog.karmadust.com/drag-and-rearrange-uicollectionviews-through-layouts/ (Gith ...

  7. Qt之QAbstractItemView视图项拖拽(二)

    一.需求说明 上一篇文章Qt之QAbstractItemView视图项拖拽(一)讲述了实现QAbstractItemView视图项拖拽的一种方式,是基于QDrag实现的,这个类是qt自己封装好了的,所 ...

  8. Vuedraggable 拖拽组件

    raggable为基于Sortable.js的vue组件,用以实现拖拽功能. 官网:vuedraggable 特性 支持触摸设备 支持拖拽和选择文本 支持智能滚动 支持不同列表之间的拖拽 不以jQue ...

  9. BHO,C#实现了超级拖拽的效果

    BHO,C#实现了超级拖拽的效果. 分类: C# 2013-12-10 22:49 167人阅读 评论(0) 收藏 举报 BHO 我一般习惯用IE,以前一直是搭配着IEPRO用的,主要用里面的鼠标手势 ...

最新文章

  1. 在博客以及jupyter notebook 中编写数学公式
  2. lin通信ldf文件解析_详细步骤讲解如何在CANoe中创建一个LIN通讯工程(多图+详解)...
  3. 基于MATLAB的仿windows画图板功能的实现
  4. pycharm下配置jupyter_在 Pycharm 中安装及使用 Jupyter (图文详解)
  5. ECMAScript 2016,2017,和2018中新增功能
  6. 自助银行服务系统项目开发_自助服务时代即将结束
  7. Bootstrap-CL:按钮下拉菜单
  8. 用matlab实现视频截图字幕部分的拼接
  9. Windows系列服务器上配置JSP运行环境,以及网站上线
  10. Wherehows项目简介
  11. 计算机ps特效教程,制作木质电脑桌的PS滤镜教程
  12. vue 解决跨域时报错 Cannot read property ‘split‘ of null
  13. 一本通 1273:货币系统
  14. permission denied (publickey)问题的解决
  15. python实现选择题自动答题_答题辅助python代码实现
  16. p40pro升级鸿蒙后续航怎么样,华为p40续航怎么样
  17. 权限系统(前后端分离)
  18. 合肥工业大学计算机学院王院长,合肥工业大学七位院长相继出走,为什么成为其他学校挖角的对象?...
  19. Pygame小游戏:可控制的烟花~过年啦~
  20. 一个未完成的文字rpg打怪小游戏。。。(难得写点东西)

热门文章

  1. java cxf 工具_利用CXF工具开发WebService接口
  2. adb failed to start daemon 彻底解决
  3. 计算机网络之数据链路层:14、局域网的基本概念
  4. 2018年第九届蓝桥杯—C/C++程序设计省赛解题
  5. LSTM 与 Bilstm介绍(包含代码实现、Python)
  6. error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
  7. 解决twisted客户端连接过多导致崩溃问题(too many file descriptors in  select)
  8. Python学习day2 while循环格式化输出运算符
  9. 洛谷 P1969 积木大赛 —— 水题
  10. MXNet——symbol