Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          函數定義規則

                 FineReport報表已經提供了大量的自帶函數,在正常情況下足夠滿足用戶的報表制作需求,但是在一些特殊領域,可能需要一些特殊的函數,在這種情況下,Java報表軟件提供了自定義函數機制,可以由用戶根據業務需要自己來定義一些函數,但這些函數必須滿足FineReport函數定義規則。

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

          函數原理

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


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

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

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

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

          自定義函數使用步驟

              Java報表軟件中自定義函數使用分為四個步驟,如下:

          自定義函數

          編譯自定義函數

          注冊自定義函數

          使用自定義函數
          文章來自:http://blog.vsharing.com/fanfanzheng/A1438726.html



          主站蜘蛛池模板: 海门市| 庆阳市| 兴仁县| 达拉特旗| 安图县| 金昌市| 滨海县| 西城区| 清远市| 司法| 长治市| 社旗县| 綦江县| 平凉市| 玉树县| 商南县| 岐山县| 腾冲县| 河池市| 芦溪县| 金门县| 云霄县| 刚察县| 略阳县| 分宜县| 延川县| 金山区| 汶川县| 金坛市| 德庆县| 勃利县| 晴隆县| 静海县| 诸城市| 勐海县| 疏勒县| 富阳市| 泉州市| 柘城县| 大余县| 成武县|