JavaScript概述
JavaScript是種腳本語言,它可以用來制作與網絡無關的,與用戶交互作用的復雜軟件。它是一種基于對象(Object Based)和事件驅動(Event Driver)的編程語言。 JavaScript是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(Home Page)中執行了某種操作所產生的動作,就稱為“事件”(Event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生后,可能會引起相應的事件響應。
JavaScript是依賴于瀏覽器本身,與操作環境無關,只要能運行瀏覽器的計算機,并支持JavaScript的瀏覽器就可正確執行。即JavaScript源代碼在發往客戶端執行之前不需經過編譯,而是將文本格式的字符代碼發送給客戶編由瀏覽器直接解釋執行。
其他事件
使用FineReport報表軟件時除了各控件中可以添加事件外,超級鏈接也可以引用JavaScript,具體使用方法將在之后的章節中詳述。同時在報表|報表Web屬性及服務器|服務器配置中也可以添加各種JS事件,如下圖所示

超鏈接引用JavaScript
該例子實現用戶在點擊超級鏈接的時候,根據輸入的頁碼,來決定鏈接到指定的頁面。
有兩種引用方式:
1. 將寫好的方法保存為js文件,放置在工程下,在超級鏈接中直接調用
1.1 新建報表
1.2 模板設計
在B3單元格中寫入公式:=range(1,40),并將其擴張屬性改為“從左到右擴展”,并將其設為居中,如下圖所示:

1.3 添加超鏈接
l 右擊B3單元格,選擇超級鏈接,進入超級鏈接界面,點擊添加JavaScript,如下圖所示

l 寫一段Js代碼,內容為:
function demo() {
var test = function() {
var num = parseInt(arguments[0]);
contentPane.gotoPage(num);
};
var value = FR.Msg.prompt("輸入", "頁碼", 2, test);
}
說明:
var num = parseInt(arguments[0]); //獲得輸入框中輸入的頁碼
contentPane.gotoPage(num); //跳轉到相應頁碼
var value = FR.Msg.prompt("輸入", "頁碼", 2, test); //參數分別為對話框標題、對話框內容、輸入框默認值、回調函數
將此段內容保存為test.js文件 ,放在WebReport目錄下,在超級鏈接界面中插入該test.js,并在下面的function fun()函數中調用demo();
效果如下圖所示:

1.4 保存并預覽
點擊超級鏈接,出現如下圖所示的輸入提示對話框

在輸入對話框中輸入需要跳轉的頁數,并點擊確定按鈕,就跳轉到相應的頁面。
2. 直接在超級鏈接界面上寫js方法
2.1 新建報表
2.2 模板設計
在B3單元格中寫入公式:=range(1,40),并將其擴張屬性改為“從左到右擴展”,并將其設為居中,如下圖所示:

2.3 添加超鏈接
l 右擊B3單元格,選擇超級鏈接,進入超級鏈接界面,點擊添加JavaScript,如下圖所示

l function fun(){}函數中寫入如下JS語句:
function test(){
var num = parseInt(arguments[0]);
_g('${sessionID}').gotoPage(num);
};
var value = FR.Msg.prompt("輸入", "頁碼", 2,test);
說明:
_g('${sessionID}').gotoPage(num); //跳轉到相應頁碼
如下圖所示

2.4保存預覽
點擊超級鏈接,出現如下圖所示的輸入提示對話框

在輸入對話框中輸入需要跳轉的頁數,并點擊確定按鈕,就會跳轉到相應的頁面。
文章轉自:http://reportblog.cn/archives/923