1. 概述
1.1 應用場景
如果設計填報表格時,并不是拖入數據集字段進行單元格擴展,而是預先定義字段下的幾條記錄,只更新這些記錄的數據,如下圖中的科目代碼和科目名稱字段對應的幾條記錄:
此時需要使用智能添加單元格組,将每條記錄對應的填報單元格固定死,只有這些單元格填報後的數據才能入庫,未添加的單元格提交後也不會入庫,如下圖中只能填報前 4 條記錄:
1.2 功能簡介
FineReport 支持在一個内置 SQL 中爲單個數據表字段綁定多個單元格,即單元格組。智能添加單元格組的方法如下圖所示:
注1:單元格組支持手動編輯,且單元格間的分隔符只支持英文的逗号、分号和空格。
注2:綁定多個單元格時,不能使用公式,因爲單元格數組是先拆分爲多個内置 SQL,然後再形成入庫 SQL 語句,而公式數組則是直接形成入庫 SQL 語句,不會拆分爲内置 SQL。
注3:如果不是連續單元格,一個個點擊添加即可。
2. 示例
2.1 準備數據
新建數據查詢數據集 ds1,SQL 語句爲:SELECT * FROM 科目餘額表,預覽表信息如下圖所示:
注:此處新建數據集的目的只是爲了查看字段下的記錄,這一步可以不做。
2.2 設計表格
将數據集前 8 條記錄的科目代碼和會計科目先填入單元格,期初餘額和期末餘額添加文本控件用於填報,如下圖所示:
2.3 設置填報屬性
添加數據集中的 4 個字段,然後添加單元格組,如下圖所示:
2.4 效果預覽
保存報表,點擊填報預覽,填報前 4 條記錄的期初餘額和期末餘額,如下圖所示:
提交成功後,可以看到數據庫表中前 4 條記錄的數據已經改變,如下圖所示:
注:支持移動端填報。
3. 模板下載
已完成模板參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\TypicalApp\CellsArrayForm.cpt
點擊下載模板:CellsArrayForm.cpt
4. 注意事項
所有字段添加的單元格數要保持一緻,如果出現不一緻的情況,如下圖所示:
添加完單元格組點确定後,會彈出提示信息:設置爲單元格組的各字段中的單元格個數必須相同,需要重新設置,如下圖所示: