反饋已提交
網絡繁忙
儲存格里新增的 下拉樹元件 ,資料字典設定了實際值和顯示值,選擇時顯示的是顯示值,在失焦後儲存格中顯示的會是實際值。
例如下圖用下拉樹展示部門結構,選項的實際值為部門 ID,顯示值為部門名稱,可以看到失焦後,下拉樹框裏面變為實際值。
那如何讓其失焦後仍然顯示為顯示值並且可以提交入庫呢?
下拉樹的回傳值是一個陣列,但如果傳回了完整路徑,則形態在轉化實際值為顯示值時,會將每個節點的完整路徑視為一個字串整體去匹配資料,所以就無法匹配到相應的顯示值了。
儲存格「形態>資料字典」設定實際值和顯示值的對應關係,這樣可以實現失焦後最終顯示成顯示值。在填報屬性中用 MAPARRAY() 和 VALUE() 函式實現對實際值的轉換入庫。
1)建立一張普通報表,新增資料集 ds1,SQL 語句為:SELECT * FROM 公司部門
2)接着新增樹資料集 tree1,選擇剛才的 ds1,如下圖設定:
在 A1 儲存格新增一個下拉樹元件,資料字典構建方式選擇 自動構建,實際值為部門 ID,顯示值為部門名稱。設定成多選和不傳回完整路徑。如下圖所示:
選中 A1 儲存格,在「儲存格屬性>形態」選擇資料字典,綁定 ds1 資料集,實際值為部門ID,顯示值為部門名稱。
如上設定後失焦顯示的已經是顯示值了,但此時提交入庫綁定儲存格獲取的值,仍然是實際值。此處可以利用公式來處理:maparray(A1,value("ds1","部門名稱","部門ID",item)),其中 maparray 函式用來建立陣列,透過 Value函式 在新陣列中列出和 A1 儲存格中部門ID 一一對應的部門名稱。
如果需要對結果進行連結,以字串的形式儲存到資料庫,可以在公式中加一個字串連結函式 JOINARRY:JOINARRAY(maparray(A1,value('ds1','部門名稱','部門ID',item)),',')
點選下載範本:儲存格下拉樹傳回顯示值.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙