润乾实现简单自定义动态列报表
需求背景:
用戶生成的報表樣式比較固定是較常見的網格式報表,但是要求可以選擇報表的數據來源(數據表),并可以選擇需要展現哪些列。根據用戶選擇結果生成報表查詢結果。
實現思路:
1.?利用宏可控制數據集的取數sql,實現同一數據集可根據參數輸入不同得到不同的數據表檢索結果。
2.?利用datasetName.field( stringExp )及datasetName.fieldName( intExp )實現動態列報表。
實現步驟:
1.?參數、宏、數據集配置:
參數說明:
數據集說明:
數據集ds1,數據集sql語法:${sql},直接利用宏運算結果作為數據集。
2.?報表模板設計
?
B2:=columns,根據接收到的字段序號組結果,橫向擴展出若干個格子
B3:= ds1.fieldname(B2),根據列號取數據集的列名
B4:=ds1.field(B3),獲得數據集當前行或者當前組中第一行中,指定列的數據
A4單元格為數據集結果的行號,不顯示,只是作為主格。
3.?參數模板設計
數據集說明:
?
?
其中C2單元格變量名為table,編輯方式為下拉數據集:
?E2單元格變量名為columns,編輯方式為下拉數據集
?
該單元格實現了和B2單元格的動態過濾,并支持多選功能。
實現效果:
?
用戶可以通過選擇數據庫表及表中相應的字段生成自定義的網格式報表。
補充說明:
此種方式的報表格式比較固定,只能實現最簡單意義上的報表自定義。另外函數datasetName.field(#colNo )的性能比較低應該慎用!
?
總結
以上是生活随笔為你收集整理的润乾实现简单自定义动态列报表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KVO本质
- 下一篇: openssl 非对称加密 RSA 加密