自定義表單數據源
===
### 1.數據庫表數據源
數據庫表數據源,通過選擇的數據庫表,來提供數據集

數據源編碼:數據源編碼定義
數據源名稱:數據源描述
數據源類型:選擇數據庫表
數據源:連接的數據庫配置
數據庫表名:數據庫中表列表,選擇一個數據庫表
點擊“解析生成字段”,生成選擇表的字段信息,
(注:解析生成時保證數據庫有條數據,否則解析不出)
字段信息:
(1)字段:字段名
(2)字段文本:字段描述
(3)控件類型:展示到頁面的控件默認配置
(4)控件長度:展示到頁面的控件長度設置
(5)字典類型:填寫數據字典編碼,如果控件類型為下拉菜單/單選框/復選框,則控件內容可以通過數據類型來獲取
(6)校驗規則:控件的默認校驗規則,使用見3.9
### 2.動態SQL數據源
動態SQL數據源,通過sql查詢結果來提供數據集,可以傳參數,參數為解析出來的查詢參數


(1)數據源編碼定義唯一
(2)數據源類型,選擇動態SQL,
(3)動態數據源,和填報數據源,一般選擇平臺數據源
(4)動態SQL:
```
select * from jform_employee_leave where id='${id}'
```
您可以鍵入’’作為一個參數,這里abc是參數的名稱。例如:
```
select * from table where id = ${abc}。
select * from table where id = '${abc}'(如果id字段為字符串類型)
```
(5)填報數據庫表:選擇的表名,是展示的表單,錄入的數據要保存的表,
動態SQL查詢出來的字段要和填報數據庫表的字段保持一致,字段名稱不一樣的sql使用AS 別名使其一致
點擊“sql解析”,解析出sql查詢出的數據列,并解析出sql中的參數
(注:解析生成時保證數據庫有條數據,否則解析不出)
(6)查詢數據列:通過動態sql解析出來的查詢列
字段:字段名
字段文本:字段描述
控件類型:展示到頁面的控件默認配置
控件長度:展示到頁面的控件長度設置
字典類型:填寫數據字典編碼,如果控件類型為下拉菜單/單選框/復選框,則控件內容可以通過數據類型來獲取
校驗規則:控件的默認校驗規則,使用見3.9
(7)查詢參數:解析動態sql里面的查詢參數
參數:參數名
參數文本:參數label描述
默認值:參數的默認值設置
排序:參數展示的順序,在自定義表單【預覽】頁面體現
### 3.java數據源
java類型的數據源,通過配置的自己實現的Java類,Java類實現統一的上層接口,來設置數據集查詢的字段、配置查詢需要的參數變量、以及相關的添加修改操作


參見demo類org/jeecgframework/web/autoform/dbjava/AutoFormDbJavaInterDemo.java
自己實現的類需要實現 AutoFormDbJavaInter 接口
1.定義查詢的數據列以及查詢參數
public AutoFormFields getFields() throws BusinessException

返回的對象AutoFormFields
```
List<String> files; //解析字段列表
List<String> params; //解析參數列表
```
2.實現根據參數查詢數據集
public List<Map<String, Object>> getFormData(Map<String, Object> paramMap)

3.實現表單數據的保存(表單input的name即為定義的查詢的數據列)
public void insert(Map<String, Object> data)

4.實現表單數據的更新(表單input的name即為定義的查詢的數據列)
public void update(Map<String, Object> data)

原理:
1.Java數據源getFields()方法解析出查詢參數和查詢數據列,生成數據源配置
2.創建自定義表單,根據數據源設置表單字段
3.表單創建完成,不同的預覽場景調用不同的實現方法
- 預覽模式,通過填入參數變量,調用getFormData(Map<String, Object> paramMap)方法獲取數據集,展示表單
- 添加模式,表單提交表單數據 調用insert(Map<String, Object> data) 方法處理數據
- 編輯模式:通過填入參數變量,調用getFormData(Map<String, Object> paramMap)方法獲取數據集,初始化表單數據,用戶修改表單數據,表單提交,調用update(Map<String, Object> data)方法處理數據
- 總體介紹
- 快速了解
- 平臺優勢
- 技術支持
- 社區榮譽
- 開發環境準備
- JEECG私服Maven
- 代碼結構說明
- 入門開發環境搭建
- 開發工具
- 代碼生成器使用
- GUI代碼生成器
- Online代碼生成器
- P3插件代碼生成器
- 代碼生成器配置
- 功能介紹
- 權限開發手冊
- Online開發權限
- Online表單訪問規則
- 列表按鈕權限控制
- 列表數據權限控制
- 頁面表單權限控制(一對多表)
- 頁面表單權限控制(單表)
- 其他
- 二級管理員手冊
- 接口權限配置
- 平臺權限設計總覽
- 編碼開發方式
- 列表按鈕權限用法
- 列表數據權限用法
- 數據權限自定義SQL
- 表單權限用法
- UI標簽庫文檔
- AuthFilter(頁面權限標簽)
- Autocomplete(自動補全標簽)
- BaseTag(樣式和JS引入標簽)
- Choose(彈出選擇標簽)
- ComboTree(下拉樹形選擇框)
- Datagrid(數據列表標簽)
- DepartSelectTag(部門樹選擇標簽)
- DictSelect(數據字典下拉選擇框)
- FormValidation(表單提交及驗證標簽)
- HasPermissionTag(頁面權限標簽)
- Menu(左側菜單生成標簽)
- MutiLang(國際化標簽)
- OrgSelectTag(部門樹列表選擇標簽)
- SelectZTree(Ztree樹控件)
- Tabs(選項卡父標簽)
- TreeSelectTag樹分類標簽
- Upload(上傳標簽)
- UserSelectTag(用戶選擇標簽)
- WebUploader(上傳標簽)
- 查詢構造器
- 查詢過濾器
- 高級查詢構造器
- 專題功能介紹
- 國際化使用
- 多數據源使用
- 定時任務
- 平臺JWT接口文檔
- 消息中心
- Online在線開發
- Online二次開發
- Online代碼生成
- Online唯一性校驗配置
- Online查詢機制(數據權限)
- Online樹形表單配置
- Online表單填值規則
- Online表單對外接口
- Online表單控件
- Online表單配置
- Online表單高級應用
- Online報表開發
- Online圖形報表配置
- Online數據報表配置
- Online移動報表配置
- 自定義表單設計
- 自定義表單權限
- 列表空間權限控制
- 功能介紹
- 常規控件權限控制
- 自定義表單配置
- 自定義表單二次開發
- 自定義表單控件
- 自定義表單數據源
- 自定義表單模板
- 自定義表單配置
- 自定義表單高級應用
- 表單數據維護
- 附錄小技巧
- datagrid擴展屬性用法
- Formvalid新增屬性tiptype的使用
- JEECG單點集成文檔
- Jeecg定時任務開發
- JEECG常見問題貼
- Redis與Ehcache切換文檔
- Toolbar自定義js參數規則
- UI標簽規則
- 列表多表頭的設計
- 列表拓展字段展示
- 列表自定義查詢條件
- 員工入職開發規范文檔V1.0
- 數據列表合計功能
- 登錄權限攔截器排除方法
- 組織機構導入功能使用說明
- 表單字段重復校驗方法
- JEECG新技術
- 新版UI技術方案