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

下拉複選框多選值進行填報時出現的問題及解決方案

1. 概述

1.1 問題描述

在制作填報模板時,經常遇到單元格控件勾選了多個指标,出現以下兩種情況:

1)當填報時存在主鍵時,即做修改操作,提交成功後卻只保留了一個值。

舉例:

我們在「下拉複選框控件」勾選了「佳佳樂、康富食品、秒生、爲全」 4 個指标後提交入庫,刷新頁面後,發現只保留了一個最後勾選的指标「爲全」。

222

2)當填報時不存在主鍵時,即做添加操作,提交成功後數據庫則會錄入多條數據。

舉例:

使用「産品」表添加一條測試數據進行填報,供應商選擇了 3 個指标後提交入庫後,發現「産品」表中新增了 3 條數據。

222

而我們希望「下拉複選框控件」多選值提交後,能在一條數據中正确顯示多個值,該如何處理呢?

1.2 解決思路

「下拉複選框控件」的返回值類型默認爲「數組」,上述兩種情況返回值類型需要爲「字符串」,所以導緻填報結果不正确。

處理方法:将「下拉複選框控件」的返回值類型由「數組」改爲「字符串」即可。

注:修改操作和添加操作的解決思路一緻。

2. 示例

2.1 準備模板

打開内置模板 %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\LineForm1.cpt

1607049669979471.png

2.2 設置下拉複選框控件

将 D3 單元格控件修改爲「下拉複選框控件」,返回值類型爲「字符串」,其它默認。步驟如下圖所示:

Snag_32ac5413.png

2.3 設置數據字典

給 D3 單元格設置「數據字典」,類型設置爲「數據庫表」,數據庫選擇「FRDemo」,數據庫表選擇「供應商」,實際值爲「供應商ID」,顯示值爲「公司名稱」。步驟如下圖所示:

1607050171104613.png

2.4 設置公式形态

選中 D3 單元格,設置「單元格屬性>形态>公式形态」,定義公式形态:sql("FRDemo", "select DISTINCT 公司名稱 from 供應商 where 供應商ID in (" + $$$ + ")", 1,null)

步驟如下圖所示:

1607051181677906.png

注:公式 sql("FRDemo", "select DISTINCT 顯示值字段 from 表名 where 實際值字段 in (" + $$$ + ")", 1,null)  使得鼠标離開單元格時,單元格内容能展示顯示值而不是實際值。

2.5 修改字段類型

設計器内置數據庫表「産品」中「供應商ID」字段類型爲 integer,需要先将其修改爲 text 類型,才可以存儲字符串類型的值。否則提交入庫時會提示報錯:數據列類型不匹配。

1607052427902703.png

2.6 效果預覽

1)PC端

保存報表,點擊「填報預覽」,效果如下圖所示:

1607053284305948.gif

2)移動端

保存報表,點擊「移動端預覽」,點擊「填報」,App 端和 H5 端均支持,效果如下圖所示:

989A657B-A690-475B-9E73-88553C61ECD4.GIF

注:下拉複選框控件、單選按鈕組控件、複選框組控件 等多選控件都有類似的問題,請參考本文檔處理。

3. 模板下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\下拉複選框多選值進行填報時出現的問題及解決方案.cpt

點擊下載模板:下拉複選框多選值進行填報時出現的問題及解決方案.cpt

附件列表


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

文 檔回 饋

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

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

不再提示

10s後關閉

反饋已提交

網絡繁忙