FineReport父子格實現動態參數注入


  “深入學習FineReport后發現其功能及其強大,之前使用存儲過程實現的報表完全可以使用FineReport本身的功能實現。

當你需要的表名,查詢條件等均未知的時候,使用“動態參數注入”即可實現將一個查詢的結果集當成另一個查詢的條件,甚至表名來使用。

使用動態參數注入的時候同時要配合父子格的使用。

一、父子格

  父子格一般用於,單元格拓展,當不選擇父格的時候,查詢結果會沿選擇的拓展方向自動拓展,如果選擇了父格,查詢結果會跟隨父格一起拓展。如果選擇不拓展,查詢結果會以逗號分隔占一個單元格。

選擇父格的操作有兩種,一種雙擊單元格配置,一種選中單元格后在右側配置。

二、動態參數注入

  選擇父格后就可以選擇動態參數注入,假如我的結果集需要一個動態的表名才能查出來,SQL如下

SELECT ORGAN_NAME FROM SYS_ORGAN ${if(len(TABLENAME)=0, "where id in ('')", 'WHERE ID IN (SELECT DEP_ID FROM '+TABLENAME+' GROUP BY DEP_ID)')}

這個時候我可以在單元格里動態注入TABLENAME,如下

這里的A25為單元格A25,放的是另一個結果集查到的表名,並且設置為父格,即可實現動態參數注入。

 

通過動態參數注入的方法可以解決很多問題,也不需要再用存儲過程這種比較麻煩的方法了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM