1. 概述
2. 常見問題及解決方案
2.1 分頁預覽沒有實際值和顯示值之分
問題描述:
公式形態:if(B2 = min(B2[;!0]), "★" + round($$$, 1), round($$$, 1)),分頁預覽最後顯示的樣子為多欄出現帶★數字,和最小值才為帶★情況不符合,其他預覽正常。
原因分析:
分頁預覽時,計算邏輯如下:
首先在語文欄判斷89是不是89、25、62中的最小值,結果是false,顯示原值;
然後在數學欄判斷25是不是89、25、62中的最小值,結果是true,是顯示為★25,
最後在英語欄判斷62是不是89、★25、62中的最小值,結果是true,顯示為★62,因為此時的數學是★25,已經成為了字串
解決方案:
輔助欄 C2 設定 C2 為min(B2[;!0])處理,然後公式形態修改為:if(B2 = C2, "★" + round($$$, 1), round($$$, 1))。
2.2 儲存格下拉複選框預設值匹配顯示值
問題描述:
填報報表中儲存格綁定下拉複選框元件,儲存格預設值為多個數值組成的字串,預覽時需要顯示單個數值對應的顯示值,如果沒有進行任何操作顯示如下圖所示:
解決方案:
1)方法一:設定「範本web屬性>填報頁面設定>直接顯示元件」,儲存後進行填報預覽,如下圖所示:
2)方法二:如果想不顯示元件,可以為儲存格新增「形態>資料字典」,設定實際值為「產品ID」,顯示值為「產品名稱」,然後在 B2 輸入公式:split(A2,","),在B3輸入公式=split(A3,","),B2 和 B3 設定為不擴展。因為 A2 和 A3 的值都是字串格式,而下拉複選框元件的回傳值是陣列格式,需要使用 split 函式將字串轉換為字串陣列。如下圖所示:
注:因為是填報報表,填報到資料庫中的是實際值而不是顯示值。當使用上述方法一和方法二進行填報時,為防止同一儲存格的資料被填報到多列,設定填報屬性的時候需要使用joinarray函式將B3轉化為為字串格式,或者將下拉複選框的回傳值類型改為字串。
2.3 儲存格下拉樹實際值和顯示值轉化失敗
問題描述:
儲存格下拉樹設定了預設值,同時設定了形態-資料字典,但預設值並沒有按照設定正常轉化為顯示值,在預覽時仍然顯示為了實際值。
原因分析:
當使用上述格式為下拉樹設定預設值時,該預設值是一個字串。這時候形態在轉化實際值為顯示值時,會將該字串視為一個整體去匹配資料,所以就無法匹配到相應的顯示值了。
解決方案:
1)使用陣列格式的資料作為下拉樹預設值,就可以讓形態正常匹配了,例如=[[1,11,111],[1,11,112]]。
2)儲存格形態設定如下:
3)儲存範本,點選填報預覽即可。
2.4 儲存格下拉樹設定了顯示值失焦後顯示為實際值
問題描述:
儲存格里新增的 下拉樹元件 ,資料字典設定了實際值和顯示值,選擇時顯示的是顯示值,在失焦後儲存格中顯示的會是實際值。
解決方案:
可參考 儲存格下拉樹傳回顯示值 。
2.5 下拉框聯動時切換元件選擇後會顯示實際值
問題描述:
如果資料字典是經過儲存格聯動後的資料集,在切換元件選擇後會顯示實際值,而非顯示值。
解決方案:
可參考 儲存格元件填報後保留顯示值 。
2.6 下拉框內的值顯示異常
問題描述:
使用 REPLACE 函式傳遞預設值給元件時:
下拉框前 500 項的預設值正常顯示
下拉框 500 項之後的顯示值異常,出現實際值
例如,使用 REPLACE 函式將 1 轉化為壹元整,下拉框 500 項之後顯示值異常,如下圖所示:
原因分析:
使用 REPLACE() 函式傳參時,下拉框初次取數只能取 500 個,所以預設值若是 500 項後的資料(如 997 , 998 , 999 )則無法被系統正確識別,就會顯示實際值。當拉開下拉框至 500 項後的資料時,500 項後的資料才會被填充,再手動選擇就可以正確顯示。
解決方案:
使用 SPLIT() 函式代替 REPLACE() 函式傳參,可以避免初次取數限制。