在JS代码中使用FineReport内置的公式
目录:
1、概述
有时报表设计时涉及到写JS代码,利用JS的来处理有些计算或转换时特别复杂,比如日期格式化、字符串截取替换等等,先来看看利用原生JS将当前日期显示成”2017年02月24日“ 这种格式时需要写哪些代码:
var da = new Date();
var year = da.getFullYear()+'年';
var month = da.getMonth()+1+'月';
var day = da.getDate()+'日';
if (month.length < 3) month = '0' + month;
if (day.length < 3) day = '0' + day;
var rq=year+month+day;
alert(rq);
效果如下:
2、解决办法
2.1 方法一
在JS中使用帆软自带的公式其实很简单,直接用"${=公式}"即可,同样看上面这个需求,我们看一下在FR中需要写哪些代码:
比如我们需要点击按钮显示当前日期,在按钮点击事件中写JS代码:
var rq='${=today()}';
alert(rq);
2.2 方法二
利用FR提供的远程公式FR.remoteEvaluate('=公式')来执行函数,从而利用我们在报表中常用的公式。
同样是这个需求,我们可以看下这种写法,在按钮点击事件中写JS代码:
var rq=FR.remoteEvaluate('=format(today(),"yyyy年MM月dd日")');
alert(rq);