隨筆 - 225  文章 - 98  trackbacks - 0
          <2012年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          隨筆分類

          相冊

          報表工具廠商們

          搜索

          •  

          最新評論

          閱讀排行榜


          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");  



          了解Java報表工具就從這里開始
          posted on 2012-10-18 11:16 season 閱讀(263) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
          主站蜘蛛池模板: 保定市| 宜良县| 无极县| 永福县| 阳信县| 清远市| 嘉定区| 望奎县| 宜君县| 济南市| 弥勒县| 正定县| 苍南县| 龙山县| 井研县| 南靖县| 天门市| 台东县| 嵊泗县| 洪江市| 乡城县| 威信县| 洱源县| 溆浦县| 浮梁县| 祁门县| 长沙市| 南城县| 合肥市| 枣阳市| 新蔡县| 永春县| 同心县| 双峰县| 中卫市| 桃源县| 库车县| 金坛市| 旬邑县| 阿巴嘎旗| 专栏|