自定义表单数据源
===
### 1.数据库表数据源
数据库表数据源,通过选择的数据库表,来提供数据集
![](https://img.kancloud.cn/27/a7/27a700f318dbeeb795c171d9b71c2f25_1251x635.png)
数据源编码:数据源编码定义
数据源名称:数据源描述
数据源类型:选择数据库表
数据源:连接的数据库配置
数据库表名:数据库中表列表,选择一个数据库表
点击“解析生成字段”,生成选择表的字段信息,
(注:解析生成时保证数据库有条数据,否则解析不出)
字段信息:
(1)字段:字段名
(2)字段文本:字段描述
(3)控件类型:展示到页面的控件默认配置
(4)控件长度:展示到页面的控件长度设置
(5)字典类型:填写数据字典编码,如果控件类型为下拉菜单/单选框/复选框,则控件内容可以通过数据类型来获取
(6)校验规则:控件的默认校验规则,使用见3.9
### 2.动态SQL数据源
动态SQL数据源,通过sql查询结果来提供数据集,可以传参数,参数为解析出来的查询参数
![](https://img.kancloud.cn/8a/56/8a5623012069be65650f438b5afb7db7_1234x599.png)
![](https://img.kancloud.cn/4f/88/4f88cde8f0816e163a2564e94be68044_1249x632.png)
(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类实现统一的上层接口,来设置数据集查询的字段、配置查询需要的参数变量、以及相关的添加修改操作
![](https://img.kancloud.cn/14/7e/147e2bd2a8f2c6d5d74eefc62243046b_1249x455.png)
![](https://img.kancloud.cn/4f/e0/4fe0dde7f00fa074e5c26a23dcc541e7_1258x258.png)
参见demo类org/jeecgframework/web/autoform/dbjava/AutoFormDbJavaInterDemo.java
自己实现的类需要实现 AutoFormDbJavaInter 接口
1.定义查询的数据列以及查询参数
public AutoFormFields getFields() throws BusinessException
![](https://img.kancloud.cn/a1/1e/a11e16212f513b7d88847b32f766d5d3_633x373.png)
返回的对象AutoFormFields
```
List<String> files; //解析字段列表
List<String> params; //解析参数列表
```
2.实现根据参数查询数据集
public List<Map<String, Object>> getFormData(Map<String, Object> paramMap)
![](https://img.kancloud.cn/25/88/25886bc9ce12409bd50f85dcd125d223_818x361.png)
3.实现表单数据的保存(表单input的name即为定义的查询的数据列)
public void insert(Map<String, Object> data)
![](https://img.kancloud.cn/a7/87/a787a094b4a0d0e2191c8fe728ca8a4e_768x335.png)
4.实现表单数据的更新(表单input的name即为定义的查询的数据列)
public void update(Map<String, Object> data)
![](https://img.kancloud.cn/6b/0b/6b0b0140377b5e346acc7181f6d1d761_862x362.png)
原理:
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技术方案