Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理


          一、概述

          隨著FineReport的發展,它提供的設計器和服務器應該能夠滿足您絕大部分的需求,完全實現零編碼的軟件開發,革命性地加快軟件開發速度,提高軟件穩定性。但是需求是千變萬化的,而FineReport所包含的功能是報表行業中比較普遍的典型的,也許某些個性化的功能通過FineReport軟件無法實現。為此,FineReport支持應用開發人員使用網頁腳本、API接口等對FineReport進行深入的開發與控制,以滿足其個性化的需求。當然,如果您發現您的某個需求必須要編程來實現,建議您先給我們的顧問打一個咨詢電話,也許他可以給您提供有一個不需要編程的簡單方法來滿足您的需求,節約您的時間。

          在這里,我們主要介紹JS的使用說明,為需要對FineReport報表進行深入開發的應用開發人員提供參考。

          二、JS的使用說明

          JavaScript是種腳本語言,它可以用來制作與網絡無關的,與用戶交互作用的復雜軟件。它是一種基于對象(Object Based)和事件驅動(Event Driver)的編程語言。JavaScript是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(Home Page)中執行了某種操作所產生的動作,就稱為事件(Event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生后,可能會引起相應的事件響應。

          JavaScript是依賴于瀏覽器本身,與操作環境無關,只要能運行瀏覽器的計算機,并支持JavaScript的瀏覽器就可正確執行。即JavaScript源代碼在發往客戶端執行之前不需經過編譯,而是將文本格式的字符代碼發送給客戶編由瀏覽器直接解釋執行。

          (一)問題描述

          FineReport報表采用jquery v1.5.2框架,jquery是一個快速的,簡潔的javaScript庫,使用戶能更方便地處理HTML documentsevents、實現動畫效果,方便地為網站提供AJAX交互,并且它兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。FineReport報表解析后最終成為一個html頁面,因此可以使用js對報表進行各種處理,您可以使用jQuery框架的所有方法對報表進行操作,在此基礎上,FineReport還封裝了很多內置的js方法。接下來我們就JS的基本使用做一個介紹。

          (二)如何使用JS

          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有統一的事件編輯界面,如按鈕控件設置>事件編輯>添加點擊事件便可看到事件編輯界面了,如下圖。


          2、自定義頁面中使用JS

          如:報表嵌入在frameid"reportFrame"時,調用報表的打印預覽方法,如下:

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

          · 引入FineReportjs文件再使用FineReportjs方法

          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中的報表再使用FineReportjs方法。

          3、JS語法

           1)普通的JS語法

          如在事件編輯里面彈出對話框,使用alert(要彈出內容)即可。

          2jQuery語法

          jQuery的基礎語法是:$("tr"),美元符號$定義 jQuery;選擇符("tr")就可以獲取頁面所在行。

          更多jQuery方法請參考其官方jQuery Version 1.5 API文檔。

          3)報表內置的JS方法

          如何使用報表內部定義好的js方法,可在事件編輯里面直接調用,如FR.doURLFlashPrint調用Flash打印,代碼如下:

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



          主站蜘蛛池模板: 洛浦县| 龙州县| 永寿县| 涟源市| 北京市| 伊吾县| 刚察县| 郓城县| 宕昌县| 阜宁县| 定日县| 光山县| 乃东县| 阳曲县| 泉州市| 清流县| 四平市| 呼玛县| 海阳市| 蓬莱市| 济南市| 涞源县| 游戏| 西吉县| 大渡口区| 济源市| 巴林右旗| 牡丹江市| 葵青区| 高州市| 克什克腾旗| 二连浩特市| 乌兰县| 衢州市| 贵州省| 和政县| 文水县| 齐齐哈尔市| 梁山县| 蕉岭县| 恩平市|