反饋已提交

網絡繁忙

儲存格下拉樹傳回顯示值

1.概述

1.1 問題描述

儲存格里新增的 下拉樹元件 ,資料字典設定了實際值和顯示值,選擇時顯示的是顯示值,在失焦後儲存格中顯示的會是實際值。

例如下圖用下拉樹展示部門結構,選項的實際值為部門 ID,顯示值為部門名稱,可以看到失焦後,下拉樹框裏面變為實際值。

那如何讓其失焦後仍然顯示為顯示值並且可以提交入庫呢?

1.2 原因分析

下拉樹的回傳值是一個陣列,但如果傳回了完整路徑,則形態在轉化實際值為顯示值時,會將每個節點的完整路徑視為一個字串整體去匹配資料,所以就無法匹配到相應的顯示值了。

1.3 解決思路

儲存格形態>資料字典設定實際值和顯示值的對應關係,這樣可以實現失焦後最終顯示成顯示值。在填報屬性中用 MAPARRAY() 和 VALUE() 函式實現對實際值的轉換入庫。

2. 範例 

2.1 準備資料

1)建立一張普通報表,新增資料集 ds1,SQL 語句為:SELECT * FROM 公司部門

2)接着新增樹資料集 tree1,選擇剛才的 ds1,如下圖設定:

2.2 新增下拉樹

在 A1 儲存格新增一個下拉樹元件,資料字典構建方式選擇 自動構建,實際值為部門 ID,顯示值為部門名稱。設定成多選和不傳回完整路徑。如下圖所示:

2.3 儲存格形態設定

選中 A1 儲存格,在「儲存格屬性>形態」選擇資料字典,綁定 ds1 資料集,實際值為部門ID,顯示值為部門名稱。

2.4 填報屬性設定

如上設定後失焦顯示的已經是顯示值了,但此時提交入庫綁定儲存格獲取的值,仍然是實際值。此處可以利用公式來處理:maparray(A1,value("ds1","部門名稱","部門ID",item)),其中 maparray 函式用來建立陣列,透過 Value函式 在新陣列中列出和 A1 儲存格中部門ID 一一對應的部門名稱。

如果需要對結果進行連結,以字串的形式儲存到資料庫,可以在公式中加一個字串連結函式 JOINARRYJOINARRAY(maparray(A1,value('ds1','部門名稱','部門ID',item)),',')

2.5 效果預覽


3. 範本下載

附件列表


主題: 填報應用
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙