Java软件报表软件技术博客

java报表软件技术汇总 java报表软件制作 报表软件新闻
posts - 355, comments - 100, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理


FineReport报表采用jquery v1.5.2框架,jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,方便地为网站提供AJAX交互,并且它兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。FineReport报表解析后最终成为一个html页面,因此可以使用js对报表进行各种处理,您可以使用jQuery框架的所有方法对报表进行操作,在此基础上,FineReport还封装了很多内置的js方法。本文就JS的基本使用做一个介绍。

1. 如何使用JS

1.1 报表模板中使用JS

· 作用机理

设计模板时可以给控件、工具栏按钮、整个报表添加JS事件,每个事件对应一个function。当报表转为htm页面时会将这些fuction加到html的头部head。当事件被触发时如点击按钮时,或者导出打印报表时,对应的function就会被执行。

· 引入现成的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

· 事件编辑界面

FineReport有统一的事件编辑界面,如按钮控件设置>事件编辑>添加点击事件便可看到事件编辑界面了,如下图。


1.2 自定义页面中使用JS

· 通过获取iframe中的报表再使用FineReport的js方法

如:报表嵌入在frame的id为"reportFrame"时,调用报表的打印预览方法,如下:

1. document.getElementById('reportFrame').contentWindow.contentPane.printPreview();  

· 引入FineReport的js文件再使用FineReport的js方法

1. <script type="text/javascript" src="/WebReport/ReportServer?op=resource&resource=/com/fr/web/jquery.js"></script>   

2. <script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>  

3. <script type='text/javascript'>   

4. function doPrint(){   

5.      var url="http://localhost:8075/WebReport/ReportServer?reportlet=gettingstarted.cpt";//端口和ip根据具体情况设定   

6.      FR.doURLFlashPrint(url);   

7. }   

8.  </script>   

注:若该页面中引入了其他版本的jquery.js,可能会有js冲突,因此建议您通过获取iframe中的报表再使用FineReport的js方法。

2. JS语法

2.1 普通的JS语法

如在事件编辑里面弹出对话框,使用alert(要弹出内容)即可。

2.2 jQuery语法

jQuery的基础语法是:$("tr"),美元符号$定义 jQuery;选择符("tr")就可以获取页面所在行。

更多jQuery方法请参考其官方jQuery Version 1.5 API文档

2.3 报表内置的JS方法

如何使用报表内部定义好的js方法,可在事件编辑里面直接调用,如FR.doURLFlashPrint调用Flash打印,代码如下:

1. FR.doURLFlashPrint("http://localhost:8075/WebReport/ReportServer?reportlet=gettingstarted.cpt");  




只有注册用户登录后才能发表评论。


网站导航: