當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

自定義函數設置下拉樹默認值

1. 概述

1.1 問題描述

下拉樹控件默認值設置 ,要求默認值必須爲節點的完整路徑。當下拉樹層級較多或下拉樹爲多選且需要設置多個默認值時,填寫節點的完整路徑就會非常複雜。所以在層級較多和需要多個默認值的情況下,如何簡單填寫默認值呢?效果如下圖所示:

image.png

1.2 解決思路

通過「自定義函數」實現根據子節點的值找出葉子節點的完整路徑。

注:此方法只能用於構建方式爲「自動構建」的下拉樹控件。

1.3 函數簡介

函數:TREENODEFINDER(param1,param2)

釋義 :

1)param1 爲葉子節點的值,可以是顯示值,也可以是實際值。

  • 傳入單個值時,以 value 格式傳入。

  • 傳入多個值時,以數組格式 ARRAY(value1,value2,.....) 傳入。

    value 爲字符串時需要加 "" 。

2)param2 爲構建下拉樹控件的樹數據集名稱,值格式爲“TreeName”。

示例:

單值:TREENODEFINDER("部長","Tree1")

多值:TREENODEFINDER(ARRAY("部長","會計"), "Tree1")

2. 示例

2.1 編寫自定義函數

編寫自定義函數 TREENODEFINDER ,完整代碼詳見:

https://code.fanruan.com/demo/example/src/branch/release/10.0/src/main/java/com/fr/function/TREENODEFINDER.java

2.2 編譯自定義函數

2.2.1 生成 class 文件

編譯 2.1中的 TREENODEFINDER 代碼 ,生成類文件 TREENODEFINDER.class 。

注:編譯時需導入 FineReport 工程 JAR 包,包括安裝工程包 %FR_HOME%/lib 下面的所有的包,%FR_HOME%/server/lib 下面的所有包,%FR_HOME%/webapps/webroot/WEB-INF/lib 下面的所有包,還要引入 JDK 的tools.jar。詳情請參見 編譯Java程序

這裏也可以不用編譯,直接使用編譯好的 class 文件,點擊下載并解壓 TREENODEFINDER.class :TREENODEFINDER.7z

2.2.2 導入 class 文件

将編譯生成的 TREENODEFINDER.class 文件複制到%FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\function目錄下 ,如下圖所示:

image.png

2.3 注冊自定義函數

打開設計器,選擇「服務器」>「函數管理器」,增加一個自定義函數 TREENODEFINDER,選擇類com.fr.function.TREENODEFINDER,如下圖所示:

2020-09-07_21-54-16.jpg

2.4 模板設置

2.4.1 新建模板

新建普通報表。

1)創建數據集「公司部門」,SQL語句爲:

SELECT * FROM 公司部門

如下圖所示:

2020-09-07_22-07-51.jpg

2)創建樹數據集「Tree1」,如下圖所示:

2020-09-07_22-15-02.jpg

2.4.2 設置下拉樹控件

在參數面板中添加「下拉樹控件」,點擊控件,在「控件設置」>「屬性」>「數據字典」處,選擇「自動構建」,開始構建下拉樹,如下圖所示:

2020-09-07_22-29-04.jpg

2.5 設置下拉樹默認值

使用自定義函數 TREENODEFINDER 設置下拉樹默認值。

點擊下拉樹控件,在「控件設置」>「屬性」>「控件值」位置,選擇「公式」,輸入 TREENODEFINDER("部長", "Tree1") ,如下圖所示:

2020-09-07_22-38-47.jpg

2.6 效果預覽

2.6.1 PC端

保存模板,點擊「分頁預覽」,效果如 1.1 節所示。

2.6.2 移動端

App 及 HTML5 效果如下圖所示:

76bbe219-766e-4567-aae7-8a950970975e.jpg

3. 附件下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\自定義函數設置下拉樹默認值.cpt

點擊下載模板:自定義函數設置下拉樹默認值.cpt

點擊下載并解壓 TREENODEFINDER.class 文件:TREENODEFINDER.7z

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

反饋已提交

網絡繁忙