下面以java报表工具中一个简单的自定义函数例子来说明使用自定义函数的四个步骤。我们定义一个函数STRINGCAT,他的作用是把所有的参数以字符串的形式连接起来。
STRINGCAT函数使用规则为STRINGCAT(Para,Para,Para…….);
其中Para为该函数的参数,个数不限。
1. 定义自定义函数
由概述可知NormalFunction实现了Function这个接口,因此STRINGCAT可以直接继承NormalFunction类,完整代码如下:
http://www.finereport.com/forumimages/e435.png
说明:
Java报表使用函数STRINGCAT(Para,Para,Para…..)时,根据函数名取得运算该函数的类STRINGCAT,并将参数传入类中的args对象数组中,执行该类的run函数。
而在run函数中即实现了将传入的参数以字符串的形式连接起来。并返回最终形成的字符串。
2. 编译自定义函数
将编译后的STRINGCAT.CLASS放到FineReport的安装目录WEB-INF下面的classes目录下,因为STRINGCAT.JAVA属于包com.fr.demo,所以STRINGCAT.CLASS需要放到classes\com\fr\demo目录下。
3. 注册自定义函数
生成该函数的类后需要在设计器中进行注册,才可以使用该函数。打开服务器|函数管理器,选择刚刚定义好了STRINGCAT类,如下图
http://www.finereport.com/forumimages/e436.png
使用报表工具时,函数名称可以自定义,如这边定义为Stringcat;
同时可以添加该函数的使用说明,如上图所示的描述
4. 使用自定义函数
注册好自定义函数后,制作报表时便可直接使用了,使用方法与内置的函数是相同的。
4.1 新建报表
4.2 定义两个报表参数para1、para2,类型分别为字符串型与整形,默认值分别为空字符串与0
http://www.finereport.com/forumimages/e437.png
在空白报表的任意单元格里写入公式:=Stringcat($para1,$para2)(注意:写入公式的时候在参数名前加$,表明这是使用的参数)
点击预览会弹出填写参数的对话框,写入参数值如下
http://www.finereport.com/forumimages/e438.png
确定后可以看到结果
http://www.finereport.com/forumimages/e439.png
说明STRINGCAT公式可以正常使用啦。
文章转自:http://blog.vsharing.com/fanfanzheng/A1424938.html