1、报表模板中使用JS作用机理设计模板时可以给控件、工具栏按钮、整个报表添加JS事件,每个事件对应一个function。当报表转为html页面时会将这些function加到html的头部head。当事件被触发时如点击按钮时,或者导出打印报表时,对应的function就会被执行。
2、引入现成的js文件单个模板引入外部js文件:分页预览、填报预览或者数据分析旁的设置图标,然后点击引用JavaScript;报表工程下所有模板统一引入外部js文件:服务器>服务器配置>引用JavaScript。相对路径引用js:相对于报表工程目录如WebReport,如WebReport\js下有引用的js文件test.js,则相对路径为js/test.js;绝对路径引用js:如D:\tomcat\webapps\WebReport\WEB-INF\scripts\script.js。
3、事件编辑界面FineReport有统一的事件编辑界面,如按钮控件设置>事件编辑>添加点击事件便可看到事件编辑界面了,如下图。
4、自定义页面中使用JS通过获取iframe中的报表再使用FineReport的js方法如:报表嵌入在iframe的id为"reportFrame"时,调用报表的打印预览方法,如下:document.getElementById('reportFrame').contentWindow.contentPane.printPreview();
5、引入FineReport的js文件再使用FineReport的js方法<script type="text/javascript" src="/WebReport/ReportServer?op=resource&resource=/com/fr/web/jquery.js"></script><script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script><script type='text/javascript'>function doPrint(){ var url="http://localhost:8075/WebReport/ReportServer?reportlet=gettingstarted.cpt";//端口和ip根据具体情况设定 FR.doURLFlashPrint(url);}</script>注:若该页面中引入了其他版本的jquery.js,可能会有js冲突,因此建议您通过获取iframe中的报表再使用FineReport的js方法。
6、JS语法1普通的JS语法如在事件编辑里面弹出对话框,使用alert(要弹出内容)即可。2jQuery语法jQuery的基础语法是:$("tr"),美元符号$定义 jQuery;选择符("tr")就可以获取页面所在行。3报表内置的JS方法如何使用报表内部定义好的js方法,可在事件编辑里面直接调用,如FR.doURLFlashPrint调用Flash打印,代码如下:FR.doURLFlashPrint("http://localhost:8075/WebReport/ReportServer?reportlet=gettingstarted.cpt");
7、自动补全Js在FineReport设计器内使用Js语句实现某功能时,为了避免js代码输入错误,FineReport提供了Js自动补全功能,使用方法如下:1启动自动补全功能设计器内默认不执行自动补全功能,点击文件>选项>编辑器设置,勾选默认执行该操作前面的复选框,如下图:
8、2修改快捷键设置设计器内置Js自动补全快捷键为ctrl+space,但是由于不同电脑,自己设置的快捷键不同,默认快捷键可能已经被占用,此时,需要修改快捷方式,双击自动补全快捷键:ctrl+SPACE,通过键盘操作一遍您需要的快捷方式,比如说,将自动补全的快捷方式更改为ctrl+Q,如下图,在弹出的快捷方式修改框中,先按住ctrl,然后按下Q键,快捷方式即已修改:
9、效果查看随意选择一处可以输入js语句的地方,比如说,选中单元格,右键选择控件设置,点击事件编辑,添加一个初始化事件,在右侧的js输入框中输入con,然后,操作快捷键ctrl+Q,在右下角列出所有con开头的关键字: