報表製做工具中自定義函數概述

函數定義規則函數

       FineReport報表已經提供了大量的自帶函數,在正常狀況下足夠知足用戶的報表製做需求,可是在一些特殊領域,可能須要一些特殊的函數,在這種狀況下,報表製做工具提供了自定義函數機制,能夠由用戶根據業務須要本身來定義一些函數,但這些函數必須知足FineReport函數定義規則。工具

FineReport函數定義規則:Functionname(Para,Para,...),其中Functionname爲函數名,Para爲參數。spa

函數原理orm

FineReport報表中,每個函數都被定義成一個類,這個類必需要實現Function這個接口,在運算的時候首先經過函數名反射取得這個類,而後調用它的run(Object[] agrs)方法。下面以SUM這個函數爲例。繼承



http://www.finereport.com/forumimages/e433.png接口

http://www.finereport.com/forumimages/e434.pngci

由程序能夠看到,SUM類用來運算SUM函數,他繼承了NormalFunction類,而NormalFunction實現了Function這個接口。get

當函數運算的時候,先根據函數名取得運算該函數的類,如SUM(2,4,true)這個函數先根據函數名取得SUM這個類,而後調用SUM類的run(Object[] args)方法,args中存放的是SUM函數的參數,運算的時候能夠從args中取得參數進行運算。如執行結果爲SUM(2,4,true)=2+4+1=7io

自定義函數使用步驟編譯

    報表製做工具中自定義函數使用分爲四個步驟,以下:

自定義函數

編譯自定義函數

註冊自定義函數

使用自定義函數

相關文章
相關標籤/搜索