你的位置:首页 > Java教程

[Java教程]java报表工具FineReport的JS编辑框和URL地址栏语法简介


 

JS编辑框:

1.FineReport的js。

作为一款BS产品,browser端的JavaScript是必不可少的。

FineReport中的js是已经调用了finereport.js的。

大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的function以及一些公有的属性,不管在模板中还是其他网页中,只要引入了finereport.js,就能够通过FR.xxx的形式调用公有的属性与方法。上面是盗用FR官方文档上的一段话。自己写的web想用FineReport现成的东西的话需要先引用finereport.js。

 

2.区别。

js大致有两种,页面相关状态的事件还有就是按钮相关的事件。按钮有三类,一类是工具栏的,一类是参数面板或者表单模式的,还有一类是填报页面的。不同按钮的某些语句稍微有些区别的。

表单是form,填报是write,以获取控件并给控件赋值为例

this.options.write.getWidgetByName("p1").setValue("aaa");//填报

this.options.form.getWidgetByName("p1").setValue("aaa");//表单,参数界面

 

3.js编辑框调用公式。

公式放在框架"${}"中。

比如var v1="${len('sdf')}";那么v1就为3.

这个跟数据集定义和公式交互可以比较一下。js中""下面的就是字符串,sql其实就是字符串,sql定义的地方是${}里面的是公式,于是推理下JS编辑框中"${}"就应该是公式。

但是这里要注意下,不能就这样简单类比了,毕竟处理方式上还是有区别的,sql那边是把公式参数什么的都一股脑的在报表中拼接完了,再一起送到数据库来跑,js却不能这么简单拼接。

URL地址栏

这边就谈不上什么语法特点了,实际应用中也不会在url中直接写,大多是嵌入或者跳转的时候用。简单说下url中的参数吧。

首先是op参数。可以参看文档。

报表在默认情况下的预览方式是分页预览,当op参数为write时为填报预览,op=view是数据分析,op=form是表单模式

op=fs,数据决策系统

op=fr_platform,报表平台管理

op=excel_submit,后台excel导入填报

op=auth_login,登录的中间页面,需要fr_username和fr_password参数

op=fr_adhoc&cmd=ac_init_analysispane&viewname=数据集名字,单独打开BS设计器

其他的参数:

__bypagesize__ :控制是否分页

__pi__ :是否显示参数界面

__filename__ :控制导出文件名,没有的话默认用模板名