反饋已提交
網絡繁忙
在製作填報範本時,經常遇到儲存格元件勾選了多個指標,出現以下兩種情況:
1)當填報時存在主鍵時,即做修改操作,提交成功後卻只保留了一個值。
舉例:
我們在「下拉複選框元件」勾選了「佳佳樂、康富食品、秒生、為全」 4 個指標後提交入庫,重新整理頁面後,發現只保留了一個最後勾選的指標「為全」。
2)當填報時不存在主鍵時,即做新增操作,提交成功後資料庫則會錄入多筆資料。
使用「產品」表新增一條測試資料進行填報,供應商選擇了 3 個指標後提交入庫後,發現「產品」表中新增了 3 筆資料。
而我們希望「下拉複選框元件」多選值提交後,能在一筆資料中正確顯示多個值,該如何處理呢?
「下拉複選框元件」的回傳值類型預設為「陣列」,上述兩種情況回傳值類型需要為「字串」,所以導致填報結果不正確。
處理方法:將「下拉複選框元件」的回傳值類型由「陣列」改為「字串」即可。
注:修改操作和新增操作的解決思路一致。
開啟內建範本 %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Form\LineForm\LineForm1.cpt
將 D3 儲存格元件修改為「下拉複選框元件」,回傳值類型為「字串」,其他預設。步驟如下圖所示:
給 D3 儲存格設定「資料字典」,類型設定為「資料庫表」,資料庫選擇「FRDemoTW」,資料庫表選擇「供應商」,實際值為「供應商ID」,顯示值為「公司名稱」。步驟如下圖所示:
選中 D3 儲存格,設定「儲存格屬性>形態>公式形態」,定義公式形態:sql("FRDemoTW", "select DISTINCT 公司名稱 from 供應商 where 供應商ID in ('" + $$$ + ")", 1,null)
步驟如下圖所示:
注:公式 sql("FRDemoTW", "select DISTINCT 顯示值欄位 from 表名 where 實際值欄位 in (" + $$$ + ")", 1,null) 使得滑鼠離開儲存格時,儲存格內容能展示顯示值而不是實際值。
設計器內建資料庫表「產品」中「供應商ID」欄位類型為 integer,需要先將其修改為 text 類型,才可以儲存字串類型的值。否則提交入庫時會提示報錯:資料列類型不匹配。
1)PC端
儲存報表,點選「填報預覽」,效果如下圖所示:
2)行動端
儲存報表,點選「行動端預覽」,點選「填報」,App 端和 H5 端均支援,效果如下圖所示:
注:下拉複選框元件、無線電鈕組元件、複選框組元件 等多選元件都有類似的問題,請參考本文檔處理。
已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Form\LineForm\下拉複選框多選值進行填報時出現的問題及解決方案.cpt
點選下載範本:下拉复选框多选值进行填报时出现的问题及解决方案.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙