圖表(長尾)FineReport教程:[3]FR的事件?

下面就通過圖表(長尾)FineReport來簡單介紹一下。

工具/原料

圖表(長尾)FineReport7.1.1

大小:148.2M 適用平臺:windows/linux

控制元件事件

概述

根據控制元件響應時間的不同,我們把控制元件的事件分為八種:初始化後、編輯前、編輯後、編輯結束、點選、狀態改變、值改變及上傳後。

控制元件事件型別明細

注:填報頁面下沒有標籤控制元件。

圖表(長尾)FineReport教程:[3]FR的事件

觸發機制

FineReport控制元件只允許在填報和表單(包括引數介面)中使用,所以控制元件分為填報控制元件和表單控制元件,由於填報和表單的區別,控制元件事件的觸發時間有所區別,下面一一介紹:

初始化後:表單的初始化事件是在控制元件載入結束後觸發,填報頁面中除了複選框控制元件、單選按鈕組控制元件、複選框組控制元件和檢視樹控制元件是在控制元件載入結束時觸發初始化事件之外,其他控制元件均是在填報時,點選控制元件的編輯按鈕時(雙擊單元格時)觸發;初始化事件示例請檢視批量刪除。

編輯前:控制元件進入編輯狀態時觸發;

編輯後:控制元件編輯後觸發,如果編輯後事件中使用了alert提示,請改用toast提示,否則會影響中文的輸入;編輯後事件示例請檢視動態顯示引數控制元件。

編輯結束:滑鼠焦點離開控制元件時觸發;編輯結束事件示例請檢視給擴充套件單元格置數。

點選:下拉框、下拉複選框、下拉樹這三個控制元件的點選事件是在點選下拉項的時候觸發,其他控制元件是在點選控制元件的時候觸發;點選事件示例請檢視批量刪除

狀態改變:狀態改變是指控制元件的值發生改變時觸發,該事件只能適用於複選框、單選按鈕組和複選框組中。狀態改變事件示例請檢視點選單選按鈕彈出對話方塊輸入值

注:填報中,單元格控制元件設定了編輯結束事件,滑鼠焦點點進控制元件,不做任何改動,再點出控制元件,這時不會觸發編輯結束事件,但是在引數面板中的表單控制元件卻會觸發編輯結束事件,如果想要在填報單元格控制元件的編輯結束事情實現與表單控制元件一樣的效果,不作任何改動,點出控制元件時,也出發編輯結束事件,只需要為該控制元件新增一個初始化事件:

contentPane.setFireStopEditOnChange(false);

相容性

檢視樹

7.0.5版本中刪除了檢視樹的編輯前、編輯後、編輯結束事件,原來使用者如果設定了編輯後事件,會自動轉為點選事件。

檔案控制元件

7.0.5版本中刪除了檔案控制元件的編輯前、編輯後、編輯結束事件,如果使用者設定了編輯後和編輯結束事件,會自動轉為上傳後事件。

Web頁面事件

概述

Web頁面事件在模板>模板web屬性裡面的分頁預覽設定,填報頁面設定與資料分析設定幾個標籤頁中均可設定,分別作用於不同的預覽方式,下面以分頁預覽為例,進入分頁預覽設定標籤,選擇為該模板單獨設定,點選事件設定下"+"的按鈕,增加事件,如下圖:

圖表(長尾)FineReport教程:[3]FR的事件

所有預覽都包含的事件

圖表(長尾)FineReport教程:[3]FR的事件

填報預覽獨有的事件

圖表(長尾)FineReport教程:[3]FR的事件

注:如果一次提交是要先經過校驗的,那麼事件的觸發順序將是:校驗提交前,校驗後,填報前,校驗提交後,填報後,填報成功/失敗。

事件響應方式

概述

當事件觸發時,就會引起相應的響應,在FR的事件中已經介紹了各種事件對應的事件響應方式,下面一一介紹事件響應方式

FR中提供了5種響應方式:Javascript指令碼、提交入庫、傳送郵件、自定義提交和內建SQL。其中自定義提交和內建SQL在報表填報屬性介紹過了,下面詳細介紹另外三種響應方式的使用。

JavaScript指令碼

最常用的響應方式。當事件發生時,執行一系列js指令碼,通常用於及時校驗、動態賦值等與使用者進行實時互動。

注:JavaScript事件響應方式只適用於控制元件事件、web頁面事件和按鈕自定義事件。

圖表(長尾)FineReport教程:[3]FR的事件

提交入庫

顧名思義,提交入庫就是類似於填報,對資料庫資料進行增減改的操作,只是此時的提交入庫操作是在對控制元件或者工具欄自定義按鈕進行操作之後才執行的,如下圖:

控制元件和工具欄自定義按鈕的提交入庫事件支援繫結多個提交入庫規則,類似於填報屬性中新增多個內建sql,保持事務的一致性。

提交入庫與報表填報屬性差不多,只是多了一個設定回撥函式的功能,回撥函式的使用示例請檢視控制元件回撥函式返回值。

注:提交入庫適用於除填報提交事件以外的所有事件。

圖表(長尾)FineReport教程:[3]FR的事件

傳送郵件

一種提醒方式,如果觸發了該事件,則傳送郵件通知相應的負責人。注:編輯傳送郵件事件響應之前必須在平臺管理中配置好發件人,郵箱等等基本資訊,否則會有如下提示,並且不可編輯:

圖表(長尾)FineReport教程:[3]FR的事件

管理平臺配置郵件傳送人請參照郵件及郵件通訊錄,郵件選項中設定的是發件人,郵件通訊錄中設定的是收件人,發件人郵箱必須配置,並且只能是一個郵箱,收件人郵箱可以不必配置,直接在事件響應方式裡面寫郵箱地址也可以。

配置好郵件基本資訊之後,點擊發送郵件,如下圖:

圖表(長尾)FineReport教程:[3]FR的事件

注:傳送郵件只適用於控制元件事件和按鈕自定義事件中。

另:傳送郵件可以使用模板中的引數和單元格來實現動態收件人和動態正文以及動態標題。

教程, 編輯, 事件, 圖表, 長尾,
相關問題答案

Have any Question?

Let us answer it!