天天看點

web報表工具FineReport的JS編輯框和URL位址欄文法簡介

JS編輯框:

1.FineReport的js。

作為一款BS産品,browser端的JavaScript是必不可少的。

FineReport中的js是已經調用了finereport.js的。

大家知道,預覽報表時,報表servlet會将cpt模闆轉為html,在這個html的head頭部中會引入FineReport的js,這個finereport.js中包含了許多内置的function以及一些公有的屬性,不管在模闆中還是其他網頁中,隻要引入了finereport.js,就能夠通過FR.xxx的形式調用公有的屬性與方法。上面是盜用FR官方文檔上的一段話。自己寫的web想用FineReport現成的東西的話需要先引用finereport.js。

2.差別。

js大緻有兩種,頁面相關狀态的事件還有就是按鈕相關的事件。按鈕有三類,一類是工具欄的,一類是參數面闆或者表單模式的,還有一類是填報頁面的。不同按鈕的某些語句稍微有些差別的。

表單是form,填報是write,以擷取控件并給控件指派為例

this.options.write.getWidgetByName("p1").setValue("aaa");//填報

this.options.form.getWidgetByName("p1").setValue("aaa");//表單,參數界面

3.js編輯框調用公式。

公式放在架構"${}"中。

比如var v1="${len('sdf')}";那麼v1就為3.

這個跟資料集定義和公式互動可以比較一下。js中""下面的就是字元串,sql其實就是字元串,sql定義的地方是${}裡面的是公式,于是推理下JS編輯框中"${}"就應該是公式。

但是這裡要注意下,不能就這樣簡單類比了,畢竟處理方式上還是有差別的,sql那邊是把公式參數什麼的都一股腦的在報表中拼接完了,再一起送到資料庫來跑,js卻不能這麼簡單拼接。

URL位址欄

這邊就談不上什麼文法特點了,實際應用中也不會在url中直接寫,大多是嵌入或者跳轉的時候用。簡單說下url中的參數吧。

首先是op參數。文檔:http://www.finereporthelp.com/help/6/3/3.html

報表在預設情況下的預覽方式是分頁預覽,當op參數為write時為填報預覽,op=view是資料分析,op=form是表單模式

op=fs,資料決策系統

op=fr_platform,報表平台管理

op=excel_submit,背景excel導入填報

op=auth_login,登入的中間頁面,需要fr_username和fr_password參數

其他的參數:

__bypagesize__ :控制是否分頁

__pi__ :是否顯示參數界面

__filename__ :控制導出檔案名,沒有的話預設用模闆名

繼續閱讀