控件示例
2. 示例
1)模板設置
新建普通模板,在A1單元格中添加【按鈕控件】,命名為“點擊彈框”,如下所示:

2)添加點擊事件
給【按鈕控件】添加點擊事件,添加iframe彈框並在其中嵌入GettingStarted.cpt模板,如下圖所示:

設置參數cc值為remoteServletURL,用來獲取報表路徑
js代碼如下:
- var iframe = $("
- iframe.attr("src", cc+"?reportlet=GettingStarted.cpt"); // 給iframe添加src屬性
- var o = {
- width : 700, //對話框寬度
- height: 500 //對話框高度
- };
- FR.showDialog("添加", o.width, o.height, iframe,o);//彈出對話框
3)保存模板
保存模板,選擇填報預覽,實現效果如描述中所示。
按鈕的快捷按鍵設置
1. 描述
有時我們希望能夠通過快捷鍵來觸發按鈕,我們可以對按鈕控件進行快捷鍵設置來實現。
2. 設置方法
可以通過控件的控件設置來添加或修改觸發快捷鍵。
例如,查詢按鈕中設置快捷鍵為enter,則按enter就會觸發查詢按鈕:

注:FineReport只支持部分的鍵設置為快捷鍵,即不是所有的鍵都可以設置快捷鍵。
當將鼠標移至屬性表>高級>快捷鍵時,會出現可以設置的快捷鍵。支持的快捷鍵如下圖所示,若設置了不屬於上述快捷鍵的按鍵,快捷鍵將會無效:

點擊按鈕發送郵件
1. 描述
在大多數企業當中,郵件溝通是一個非常常見並且重要的溝通工具,經常性,某個員工完成了某一件事件需要用郵件通知各個相關人員,那么在FineReport該怎么實現這種,比如說填報一條數據進數據庫的時候就用郵件通知相關人員呢?
2. 示例—(自定義按鈕)
這里做一個簡單示例,示范FineReport如何實現發送郵件的功能。
實現在參數界面下拉復選框選擇收件人,點擊按鈕時,將所有收件人的郵箱作為郵件正文,當天日期作為郵件標題發送出去。
2.1 模板准備
新建一張空白模板,在模板>模板參數添加1個參數person,並將該參數控件添加到參數面板,控件類型選擇下拉復選框,數據字典設置如下圖:

2.2 發件人設置
上面收件人郵箱已經設置好了,下面設置發件人郵箱。
在瀏覽器中輸入http://localhost:8075/webroot/decision,用管理員賬號登錄,點擊管理系統>系統設置>郵件,即可配置發件人郵箱,如下圖:

注:授權碼如何獲取,查看
開啟POP3/SMTP服務與生成授權碼
注:FR只支持一個發件人,無法動態改變。
發件人郵件配置過程詳細介紹請參照
郵箱。
點擊保存按鈕,發件人郵箱則配置好了。
2.3 發送郵件
回到模板,切換到參數界面,選中查詢按鈕,在右側的屬性面板中選擇事件標簽頁,添加一個點擊事件,事件的響應方式選擇發送郵件,如下圖:

注:正文和標題都支持公式。
2.4 效果查看
保存模板,分頁預覽,下拉框值選擇susie和caixiaolan,點擊查詢按鈕,即會觸發點擊事件,將郵件發送給susie和caixiaolan,如下圖,FineReport會將上述郵件發送給出去:


3. 示例二(web端內置按鈕)
編輯
FineReport在web端查看報表時,內置工具欄也有郵件按鈕,點擊按鈕可直接發送郵件,比如說我們預覽GettingStarted這個模板,在web端工具欄可以看到郵件按鈕,點擊,彈出郵件發送配置,如下圖:


上傳下載文件插件
1. 版本說明
設計器版本
|
上傳下載文件插件版本
|
10.0
|
|
9.0
|
V5.9.1
|
8.0
|
V5.6
|
2. 描述
需要將文件上傳到服務器保存,並且下載。
因此我們開發了這么一款
上傳下載插件,將此功能封裝,安裝此插件后,可以通過可視化界面操作,簡潔方便,一目了然。
注:該插件暫不支持決策報表。
3. 插件介紹
3.1 安裝啟用
設計器插件安裝方法參照
設計器插件管理
服務器安裝插件方法參照
服務器插件管理
3.2 啟用該插件后
1)上傳至服務器
報表填報屬性界面,自定義提交中多了上傳類型選擇,可選擇【上傳至服務器】,如下圖:

注:參數面板中、cpt單元格控件中的控件事件都同步加了上傳至服務器功能
注:同名文件覆蓋,默認不勾選,不勾選時,同名文件重命名,勾選后實現同名文件直接覆蓋
2)上傳至FTP
報表填報屬性界面,自定義提交中多了上傳類型選擇,可選擇【上傳至FTP】,如下圖:

注:參數面板中、cpt單元格控件中的控件事件都同步加了上傳至服務器功能
注:同名文件覆蓋,默認不勾選,不勾選時,同名文件重命名,勾選后實現同名文件直接覆蓋
3)下載
超級鏈接多出一個選項【文件下載】,如下圖:


4. 示例
下面由一張模板為例,簡單說明一下,如何使用此功能。
4.1 文件上傳到服務器
在A1中添加文件控件,A2填寫公式filename(A1),表示獲取A1單元格上傳的文件名,用【形態屬性】,實際值=$$$,顯示值=LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1),如下圖:

注:公式LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1),表示find函數找到.進行定位,再使用left函數提取.前面的位數,防止出現多后綴名。
點擊模板>報表填報屬性
1、添加【內置SQL】將A2單元格的文件名保存到數據庫中,為后期數據的下載做准備(這里數據庫中有一張表,里面filename的字段用來存儲上傳的文件的文件名),如下圖:

2、添加自定義提交,提交類型選擇上傳至服務器,添加一條記錄。
【文件】綁定A1單元格,【磁盤路徑】填寫="D://"(此處示例為D盤根目錄),【文件名】綁定LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1) 如下圖:

注:這里文件名可以直接輸入內容,或者使用單元格內容或者函數
填報預覽,並上傳文件,文件上傳成功,且文件名為A1單元格的名字,如下圖:

4.2 上傳文件到FTP
點擊模板>報表填報屬性
1、添加【內置SQL】將A2單元格的文件名保存到數據庫中,為數據的下載做准備。
2、添加【自定義提交】,提交類型選擇上傳至FTP,點擊FTP設置,添加一個ftp,填寫ftp地址,勾選匿名登錄后,不需要輸入用戶名和密碼。
磁盤路徑:"/connie",不填默認為在ftp上的根目錄,【文件】綁定A1單元格,【文件名】綁定LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1),如下圖:

注:默認顯示默認FTP,若沒有設置默認FTP則顯示最新設置的FTP的詳細信息。
填報預覽,並上傳文件,文件上傳成功,且文件名為A2單元格的內容,如下圖:

4.3 下載功能
右擊修改所在的A2單元格,點擊超級鏈接,增加一個文件下載,具體設置如下圖:

根據文件所在的路徑和文件名稱填寫文件路徑和編碼類型,如下圖:(文件路徑="D://"+$$$,這個適應更廣)

保存模板,點擊填報預覽,點擊下載超鏈,即可下載文件,如下圖:

已完成模板,可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\form\上傳下載文件.cpt。
文件控件獲取文件名、類型和大小
1. 描述
填報報表中,使用文件控件上傳文件,可以通過公式獲取文件名稱,文件類型和文件大小,
filename(file):獲取文件名稱;
filetype(file):獲取文件類型;
filesize(file):獲取文件大小。
單文件上傳時,上面3個公式返回值均為字符串,多文件上傳時,返回值為數組。
2. filename(file)
filename是獲取文件名稱。
如下圖,新建一張模板,在B2單元格中添加一個文件控件,並在C2單元格中輸入公式=filename(B2),獲取上傳文件的名,選擇填報預覽,點擊文件控件,上傳一個png文件,如下圖所示:

注:如果上傳多文件,則filename獲取的是所有文件的名稱,中間用逗號隔開,返回值數據類型為數組,如上傳2個文件A.xls和B.txt,那么filename的返回值則為["A.xls","B.txt"]
3. filetype(file)
filetype是獲取文件類型
file : 為文件控件或者文件所在單元格,當file為單文件時,返回文件類型字符串;當file為多文件時,返回文件類型數組;當file不是文件類型,返回錯誤信息。
3.1 單文件
如上模板,在D2單元格中輸入=filetype(B2),並將文件控件設為只支持單文件上傳,填報預覽模板,點擊文件控件上傳一個jpg文件,效果如下圖:

獲取到了文件控件的文件類型jpg,由於上傳的是單文件,故返回的是字符串類型數據。
3.2 多文件
如上模板,去掉文件控件只支持單文件上傳前面的勾選,填報預覽模板,點擊文件控件,選中3個文件,效果如下圖:

filename(B2)返回值為數組,數組數據為["student.mdb","chinanet.jpg","BugReport.txt"],filetype(B2)也是返回數組類型,返回值為["mdb","jpg","txt"]
4. filesize(file)
filesize(file)是獲取文件大小,單位為KB。
file : 為文件控件或者文件所在單元格,當file為單文件時,返回文件類型字符串;當file為多文件時,返回文件類型數組;當file不是文件類型,返回錯誤信息。
類似於filetype,單文件上傳時,filesize返回值為字符串,多文件上傳,則返回數組。
在E2輸入公式=filesize(B2),填報預覽模板,效果如下圖:
